标签:
1、打开文件
vim filename
打开文件,光标定位在10行 vim +10 filename
打开文件,光标定位在末尾 vim + filename
打开文件,光标定位在第一次被模式匹配到行的行首 vim +/pattern filename/
2、关闭文件
在底线命令模式(last line mode)下
:q 直接退出
:q! 不作任何改变强制退出
:wq 保存并退出
:x 保存并退出
:wq和:x的区别:
:wq 强制性写出入文件并退出。即使文件没有被修改,也强制写入,并更新文件的修改时间
:x 写入文件并退出。仅当文件被修改时才写入,并更新文件的修改时间,否则不会更新文件的修改时间。
:e <path/to/file> 打开一个文件
:saveas <path/to/file> 另存为<path/to/file>
3、模式间转换
3.1 命令模式(command mode)---->插入模式(insert mode)
i:在当前光标所在字符的前面插入
I:在当前光标所在行的行首插入
o:在当前光标所在行的下一行插入
O:在当前光标所在行的上一行插入
a:在当前光标所在字符的后面插入
A:在当前光标所在行的行尾插入
3.2插入模式(insert mode)---->命令模式(command mode)
Esc键,可以多按几次
3.3命令模式(command mode)---->底线命令模式(last line mode)
:
4、命令模式(command mode)下的操作
4.1、移动光标
4.1.1、逐字符移动
h:光标向左移动
j:光标向下移动
k:光标向上移动
l:光标向右移动
前面可以添加数字 e.g: 3h 光标向左移动3个字符
4.1.2、以单词移动
w:跳至下一个单词的词首
e:跳至当前单词的词尾或者下一个单词的词尾
b:跳至当前单词的词首或者前一个单词的词首
4.1.3、行内跳转
0:绝对行首
^:行首的第一个非空字符
$:行尾最后一个非空字符
4.1.4、行间跳转
#G:直接跳至第#行 (#代表数字)
gg:跳至第一行
G:直接跳至最后一行
注:底线命令模式下,直接给出行号即可
4.1.5 最强光标移动
%:匹配括号移动,包括(,{,[.(注:需要把光标先移动到括号上)
*和&:匹配光标所在处的单词 *表示移动光标到下一个匹配单词 #表示移动光标到上一个匹配单词
4.1.6、翻屏
CTRL+f:向下翻一屏
CTRL+b:向上翻一屏
CTRL+d:向下翻半屏
CTRL+u:向上翻半屏
4.2、删除
x:删除光标所在处的单个字符
#x:删除光标所在处及向后共#个字符(#代表数字)
d$:删除光标处及之后的该行部分
dw:删除从光标处开始之后的一个单词
dd:删除光标所在行
#dd:删除从当前行开始后的#行
注:在底线命令模式下
startaddress,endaddressd
.:表示当前行
$:表示最后行
+#:向下#号行(#代表数字)
e.g. :.,+3d表示删除光标所在行及向下3行,共计4行被删除
4.3、粘贴
p:如果删除或者复制为整行内容,则粘贴至光标所在行的下方
如果删除或者复制为非整行内容,则粘贴至光标所在字符的后面
P:如果删除或者复制为整行内容,则粘贴至光标所在行的上方
如果删除或者复制为非整行内容,则粘贴至光标所在字符的前面
4.4、复制
<start position><command><end position>
0y$命令意味着:
0->先到开头
y->从这里开始拷贝
$->拷贝到本行最后一个字符
yy 复制整行
y^复制当前光标前(不包括当前光标处的字符)到行头的内容
yw复制从当前光标处开始后的一个单词
y$复制从当前光标处开始到行尾
yG复制从当前行开始到结束的所有行
4.5、替换
R: 替换模式
r: 替换单个字符
4.6先删除再转化为输入模式
cc 删除当前整行
cw删除从光标开始后的一个单词
c^删除光标前的行首的行
c$删除从光标开始到行尾的行
4.7撤销操作
u:撤销前一个操作
连续u命令可撤销n次命令操作
撤销刚才的撤销命令 CTRL+r
4.8重复前一次操作命令
.
4.9可视化模式
v:按字符选取
V:按矩形选取
4.10查找
/pattern 向下查找
?pattern 向上查找
查找并替换
5、vim编辑文件
5.1、vim编辑多个文件
vim file1 file2 file3
:bn 切换至下一个文件
:n 切换至下一个文件
:bp 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
5.2、分屏显示一个文件
CTRL+w,s 水平拆分窗口
CTRL+w,v 垂直拆分窗口
CTRL+w,Arrow(箭头) 切换窗口
:qa 关闭所有窗口
5.3、分屏显示多个文件
vim -o file1 file2 file3 水平显示多个文件
vim -O file1 file2 file3 垂直显示多个文件
5.4、将当前文件的部分内容另存为另外一个文件
底线命令模式下使用w命令
:[addr1:addr2]w /path/to/somewhere
5.5、将另外一个文件的内容填充在当前文件中
:r /path/to/somewhere
6、跟shell交互
:!command
7、高级话题
7.1、显示或取消行号设定
:set nu (:set number)
:set nonu (set nonu)
7.2、设定自动缩进
:set ai (set autoindent)
:set noai
7.3、查找文本高亮显示
:set hlsearch 设置查找文本高亮显示
:set nohlsearch 取消查找文本高亮显示
7.4、语法高亮
:syntax on 打开语法高亮
:syntax off 关闭语法高亮
8、配置文件
/etc/vimrc 全局配置文件
~/.vimrc 局部配置文件
vimtutor :vim教程命令
标签:
原文地址:http://www.cnblogs.com/Colinhua/p/vim.html