zz vim命令记录(长期更新)
时间:2010-09-21 来源:minminy
不多说了。以后打算全面投入编辑器之神 vim 的怀抱了。
以后要把每天用到新的好命令列出来。巩固提高一下自己用vim的水平。也给别人一个参考吧。
Ctrl + o 连摁两次,直接打开上次关闭时编辑的文件
Ctrl + o 摁一次,是跳回上一个起跳处(很有用!)
Ctrl + r 撤销撤销。u是撤销,Ctrl+r是撤销那个撤销
`. 跳回到上一个编辑点
b 往后移动一个词,光标在词首
* 查找当前光标处的词,向前,#是像后。不过在我的7.1的版本上一点*搜索到的关键字就已经全部高亮了
F 当前行往后查找字符
t 当前行往前查找,移到那个字符的左边
^ 移动到当前第一个字符,0是移动到行首(未必是第一个字符)
Enter 移动到下一行的第一个字符 (回车),+号也可以
- 同上,移动到上一行
m mark,后面跟标记的名字,可以是a-zA-z0-9
` 后跟mark名字,跳回标记处
; 重复上次 "f"、"F"、"t" 或 "T" 命令 N 次
, 反方向做上面的事
viw 选择光标所在的单词
yiw 复制光标所在的单词
g 超过屏幕宽度的行,直接摁g后面加j, h, k, l
数字+G 直接跳到某一行
d数字j 删除当前行与下几行
O 大写O,在上面一行插入一新行
I 大写I,在当前行首插入
一些小技巧:
有些行只显示@: .vimrc里设置set dy=lastline
在命令里输入^M这样的字符: Ctrl+V, Ctrl+M
删除DOS换行^M :%s/\r//g 反斜杠r
替换这些字符: :%s/<C-V><C-M>//g
替换 :[range]s/pattern/string/[c,e,g,i]
c confirm,每次替換前會詢問。
e 不显示 error。
g globe,不詢問,整行替換。
i ignore 不分大小寫
% 表示全文范围,是range
r file 读入文件内容并插在光标后
X 往左删除字符,x是往右删除
dG 删除,直到文件末尾
db,dw 往左和往右删
gUw 把当前单词转成大写(仅是光标往右的部分)
~ 把当前光标处字转成大写
Ctrl+A 把当前光标处数字加1
Ctrl+X 把当前光标处数字减1
ci" 把一对引号内的内容替换,ci', ci{, ci[, ci(同样适用
cit 把一对html标记内的内容替换
:r ! 把!后命令执行结果插入光标处
S 替换整行,重新输入
C 替换光标往右余下的行,重新输入
s 替换当前字符
cw 替换当前单词
tab编辑:
:tabe filename 在新tab里打开一个文件(tab edit)
Ctrl + PgUp 切换到上一个tab,PgDw是换到下一个
:tabdo cmd 在所有tab运行命令
分屏编辑:
:new 分上下两个屏
:vnew 分左右两个屏
:sp, vsp 与上面命令类似,不过不加参数时会把当前文件再新建的屏中显示
Ctrl+w 摁两次可和打开的屏里切换
Ctrl+w再加Shfit+ - 把当前屏最大化,另一个屏只留一点点。注意第二个键是Shift加加号左边那个键。一定要摁shift。
Ctrl+w再加= 平均分配所有屏的面积。同上一样,不过第二个键变成=号。
.vimrc文件编辑:
1) 让一种新后缀名使用老后缀名的语法高亮,譬如有一种新文件后缀叫jsx,和js一样,也属于javascript,但是vim不认后缀为jsx的。我们又想让vim把后缀为jsx的当作是js来显示,怎么办呢?
方法:在vimrc里加入这样一行
au BufRead,BufNewFile *.jsx setfiletype javascript
javascript是vim目录下syntax里的语法文件(都是以vim结尾),这个语法文件是已经存在的。而jsx就是你的新后缀名。