首页 > 代码库 > vim使用
vim使用
vim编译器的使用,总结如下:
vim:模式化编辑器
三种模式:
命令模式
输入模式
末行模式
格式:vim [option] file1, file2...
vim +# file (打开文件时光标处在第几行, #号代表数字)
例如:
vim+10 a.txt
vim+ a.txt (单独的+号,表示光标直接跳转到文件的末行)
vim +/pattern file (光标处在第一次匹配pattern的行首)
命令模式下:
-i:在光标之前插入
-a: 在光标之后插入
-I:在行首插入
-A: 在行尾插入
-o: 在光标所处行的下方新增一空白行
-O:在光标所处行的上方新增一空白行
光标移动:
h j k l (左,下,上,右)
如何一次移动一个单词(命令模式下):
w: 移动到下一个单词的词首
#w:向后移动n个单词(#号代表数字,即n)
e:移动到当前单词或下一个单词的词尾
#e:
b:移动到当前单词或上一个单词的词首
#b:
在一行中,行首,行尾跳转(命令模式下):
n:第一个非空白字符
o:绝对行首
$: 绝对行尾
行间跳转:
#G或#gg (等价于:#) 跳转到指定的行
翻屏操作:
ctrl +f (向后翻一屏)
ctrl +b (向前翻一屏)
删除:
x(向后)
#x
X(向前)
#X
d0: (删除行首至光标处)
d$:(删除光标处至行尾)
dw:(删除一个单词)
dd:(删除一行)
#dd
删除(末行模式下)
地址定界: 1,50d
.:表示当前行
$:表示最后一行
相对地址定界:+#, -#
1,+5d
., $-1d
:/pattern1/, /pattern2/d
粘贴:
p(小写):如果删除或复制的是整行,在当前光标的下一行粘贴
如果删除或复制的是行的一部分,在当前光标处后方粘贴
P(大写):如果删除或复制的是整行,在当前光标的上一行粘贴
如果删除或复制的是行的一部分,在当前光标前方粘贴
复制:
y:n,b,e,^,0,$
yy:复制一行
#yy:
在末行模式下:与删除类似
可视化模式:
v(小写):按字符选取
V(大写):按行选取
c:先删除指定范围的内容,然后切换到输入模式
C
cc
撤销:
u:回退一次
ctrl+r: 撤销的撤销
在命令模式下: #u (撤销n步,不能再末行模式下进行)
搜索:
/keyword
?keyword
查找并替换(在末行模式下使用):
定界:
:定界s/查找的内容/替换的内容/gi
查找的内容支持正则表达式
替换的内容不支持正则表达式,但可使用前向引用
修饰符:
g:全局替换
i: 忽略大小写
实例:
:1,20s/n..e\>/&r/g (使用&来引用查找到的整个字符串)
定界符:
1,$ (全文)=%
例如:
:%s/\/etc\/sysconfig\/network/&s/g
:%s/^[[:space:]]*\([^[:space:]].*\)/\//g
:%s/[A-Z]//g
:%s/^#[[:space:]]*//g
vim编辑中如何与shell交互:
:! ls /var
某些内容的保存:
w
:50,100w /tmp/vim.txt
分窗口显示文件:
ctrl-w, s(水平拆分)
ctrl-w,v(垂直拆分)
切换:
ctrl-w, ARROW
关闭
ctrl-w,q
vim打开多个文件:
vim file1, file2
:next 切换到下一个文件
:prev 切换到前一个文件
:first
:last
:wqall
:wall
:q!all
打开多个文件,并拆分显示
vim -o file1, file2, file3 (水平)
vim -O file1, file2, file3 (垂直)
定制vim的工作属性:
:set [no]nu 显示行号
:set [no]ai 自动缩进
:set [no]ic 忽略大小写
:syntax on/off 高亮显示
配置文件:
全局:/etc/vimrc
个人:~/.vimrc
本文出自 “IT技术博客” 博客,请务必保留此出处http://jueying007.blog.51cto.com/9115893/1528434
vim使用