vim 的使用
来源:互联网 发布:淘宝上哪家日代靠谱 编辑:程序博客网 时间:2024/06/01 14:06
vim 的使用
vim 的使用(二)
vim 是一种 modal editor1
vi/vim 是一种 modal editor,这是与传统的文本编辑器,或 windows 平台下的 notepad 最大的不同。
modal editor 的属性是 vim 之所以强大的原因之一。与模态编辑器相对的概念是modeless
编辑器,windows环境下的notepad即是一种modeless编辑器。
modeless编辑器,比如windows下的notepad,只有一种mode,即输入文本信息的mode。
而对于vi,以及它的后继者——vim,是modal的,首先它具有两个主要的modes,向编辑器输入文本信息的插入模式(insert mode
),以及通过键盘输入参数以执行相关函数的一般模式(normal mode
),例如:移动光标在文档中的位置,搜寻,以及操纵文档中的文本信息(复制与粘贴)。
还有两个modes,分别为命令模式(command mode)用以输入命令信息,以及可视模式(visual mode)当选择要操纵的文本时。
Normal Mode
尽可能地待在Normal Mode的环境下,不然如何敢叫
Normal Mode
呢?除非是要输入文本。
使用方向键是不专业的表现!!!
basic navigation:
- hjkl:左移,下移,上移,右移
- ^(shift+6):回到句首 (== home)
- $(shift+4):转到句尾(==end)
- Ctrl+d:downpage,向下翻页
- Ctrl+u:uppage,向上翻页
- b:back a word,回到一个单词的起始位置
- w:move to the next word
- gg:top of the file
用作组合的键:
d(del)
- dd:删除当前行
- de:delete till the end of the word
y(yank == copy)
- yy:拷贝当前行(包括换行符)
- yw:yank word
- y$:yank until end of line(不含换行符)
c(change motions)
- cw:change word,改变某一单词(虽然是Insert Mode,但仅对当前单词的修改有效)
- ct<symbol>:change till <symbol>
- motions:
- hjkl
- ctrl+u/ctrl+d
- w/b/$/^/0
- c:当前行
- gg.
这下总算明白,为什么复制当前行用的是
yank
的yy
,而不是copy
的cc
了吧,c
也是另外一个重要单词change
的缩写,显然change motions
要比copy
在文本编辑时重要的多得多。p:复制到当前行的下一行
delete == cut(也即剪切,包含剪和切两个动作)
因此使用 x
(del,删除当前光标所在位置的字符)以及d
(和其他的键相组合用于删除)是将删除的内容放入剪切板,使用p
,进行最后的粘贴;
- xp:交换连续两个字符的顺序
- u(undo):撤销
insert mode
i
:insert,a
:append,
从 Insert Mode 回到 Normal Mode:
esc
;不推荐ctrl+[
:推荐,较快
command mode
- :% = entire document range
- :%s = substitute across entire document range
- :%s/<from>/<to> = substitude across entire document replacing <from> with <to>(只对每一行的第一个进行修改)
:%s/<from>/<to>/g = substitute every occurence on line rather than just first
?<text> = search for <text> backwards
窃以为这会是一个极为有用的查找功能,即该内容是否在前文中出现。
/<text> = search for <text>
- Modeless vs modal editors ↩
- vim的使用
- vim的使用
- vim的初级使用
- vim的使用
- 高效率的使用VIM
- vim+cscope的使用
- VIM的使用
- vim+cscope的使用
- vim taglist的使用
- Vim中退格键的使用
- vim+cscope的使用
- vim的使用 - 笔记
- vim 的使用
- 高效率的使用VIM
- vim的使用技巧
- vim的使用
- 高效率的使用VIM
- vim的使用技巧
- Hibernate配置文件(.cfg.xml)参考实例
- 架构(三层架构)、框架(MVC)、设计模式三者异同点
- HBase总结(1)-- 数据插入与Put对象
- 查找指定目录下的所有日志文件*.log perl
- android学习之LayoutParams
- vim 的使用
- Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)
- C++高阶函数
- gdb 命令列表
- shell type使用
- 南京趋势科技面试-处子面
- 跨越鸿沟 传统软件如何变成SaaS
- java读取txt文件内容
- 百度地图