您的位置:首页 > 其它

VIM学习笔记-01

2017-08-16 19:27 281 查看
Vim编辑器功能强大,但入门也不是很简单,以前曾接触过一段时间,后来很久没用就很快忘记了,现在打算重新拾起来。

参考资料:GVIM用户手册

Vim第一步

合抱之木,生于毫末;九层之台,起于累土;千里之行;始于足下。 ——老子《道德经》

02.1 首次运行Vim

gvim file.txt  使用编辑器打开新窗口进行编辑
vim file.txt 当前命令行窗口打开编辑程序


02.2 插入文本

Vim是模式编辑器,基本模式是Normal模式和插入模式,在不同模式下编辑器有不同的行为模式。

:set showmode 打开显示模式的开关

无论处于何种模式,按Esc键都会回到Normal模式。

02.3 移动光标

Normal模式:

h->左 j->下 k->上 l->右


02.4 删除字符

Normal模式:

x   删除一个字符
dd  删除一整行,删除后下一行会填补这一行
J   删除换行符
D   删除该行当前光标之后所有内容


02.5 撤销与重做

Normal模式:

u   撤销上一次操作
Ctrl r  重做,用来反转撤销的动作,是对撤销的撤销
U   一次撤销对一行的全部操作,第二次则会撤销前一个“U”的操作


02.6 其他编辑命令

Normal模式:

i   在当前光标前面插入字符
a   在当前光标后面插入字符
o   在当前行下面另起一行插入文字
O   在当前行上面另起一行插入文字


使用命令计数:

9k  向上移动9次
3a! 在该光标之后插入3个!符号
3x  删除紧邻的三个字符


指定的数字要紧邻在它要修饰的命令前面。

02.7 退出

Normal模式:

ZZ  保存文件并退出编辑器
:q! 丢弃所有修改并退出
:e! 放弃所有修改并载入该文件的初始内容


02.8 求助

利用命令:

:help


或者按F1键会带你回到帮助文件的起始点。帮助窗口也是一个普通的编辑窗口,可以通过hjkl来回移动光标。

ZZ  该命令可以退出帮助文件,但不会退出编辑器


在浏览帮助文档时如果遇到超链接(使用中括号包起来的命令,例如[count]),可以在该中括号之间的任何位置使用命令

ctrl ]


跳转到制定的主题。如果想要跳出来可以使用以下命令:

ctrl t  弹出标签
ctrl o  跳转到较早的位置


要查看某个特殊主题的帮助,使用以下命令形式:

:help {subject}


例如

:help x  查找关于“x”命令的帮助
:help deleting  查找关于如何删除的内容
:help index  得到所有命令的索引
:help ctrl a  得到控制字符ctrl a的帮助
:help ctrl h  得到Normal模式下控制字符ctrl h的帮助
:help i_ctrl h  得到Insert模式下控制字符ctrl h的帮助
:help -t  查看命令行参数-t的功能
:help 'number'  查看number选项的帮助
:help i_<Up>  查找Insert模式下上箭头键的功能(特殊键用尖括号中一个简单的描述性名字表示)
:help E37  查找错误信息E37的具体信息


移动

在插入和删除文本之前,先要将光标移到正确位置。下面是Vim中常用的移动命令。

03.1 以Word为单位的移动

w 向前移动到后一个word,停在下一个word首字符
b 向后移动到前一个word,停在前一个word首字符
e 向前移动到后一个word,停在下一个word尾字符
ge 向后移动到前一个word,停在前一个word尾字符


03.2 移动到行首或行尾

$ 移动到行尾
0 移动到当前行第一个字符
^ 移动到当前行第一个非空白字符
2$ 移动到第二行行尾


03.3 移动到制定字符上

f 即“find”命令,“fx”会跳到当前行含有字符'x'单词的'x'字符上。
3fl 跳到第三个上
F 该命令往左搜索
t 命令形似f命令,只不过光标会停在所找字符前一个字符上
T 同F命令,也是停在所找字符前一个字符上


这四个命令都可以用“;”命令来重复操作,而“,”命令也是重复操作只不过方向相反。

03.4 匹配括号

%


该命令会匹配与它相对应的括号,无论大括号还是小括号。如果当前光标不在括号上,它会向前寻找遇到的第一个括号,并匹配。

03.5 移动到指定行

[count]G 跳转到count行,例如"33G"跳转到第33行
G 跳转到最后一行
gg 跳转到第一行


百分比跳转

% 例如"50%"会跳转到文档中间,"90%"会跳转到接近文件尾的地方


只移动目前屏幕上的那些行

H(Home) 跳转到屏幕最上面
M(Middle) 跳转到屏幕中间
L(Last) 跳转到屏幕最下面


03.6 告诉你当前位置

ctrl+g 该命令告诉你当前文件和光标位置信息
:set number 该命令会在每行前显示行号
:set nonumber 将行号关闭
:set ruler 在右下角显示光标位置


03.7 滚来滚去

ctrl u 显示文本的窗口向上滚半屏
ctrl d 显示文本的窗口向下滚半屏
ctrl f 文档向前滚动一整屏
ctrl b 文档向后滚动一整屏
ctrl e 向前滚一行
ctrl y 向后滚一行
zz 会把当前行置为屏幕正中央
zt 会把当前行置为屏幕顶端
zb 会把当前行置为屏幕底端


03.8 简单搜索

/string 用于搜索字符串,例如/include


使用

n 命令查找下一个字符串
N 该命令同'n'命令功能相同,方向相反


对于查找的字符串中包含特殊字符,例如

~ $ % ^ * [] / ?


需要在这些字符前加反斜杠进行转义,例如”/100$”

? 该命令与'/'命令功能相同,不过是往后搜索


忽略大小写

:set ignorecase


关闭忽略大小写

:set noignorecase


命令历史纪录

'/'和':'命令有历史记录,在输入'/'或':'命令后,可以按上下箭头进行搜索历史命令


在文本中查找下一个WORD

比如你要找一个单词的下一个单词位置,这时你可以把将光标定位在这个的单词上,然后按下“*”键,就会搜索到下一个单词位置。

# 命令是 * 命令的反向版


这些命令都可以在前面加计数器进行搜索

查找整个WORD

利用/the\>、/\<the\>来查找“the”,而不是“there”或者“soothe”

:set hlsearch 高亮搜索结果
:set nohlsearch 关闭高亮搜索结果
:nosearch 关闭本次高亮搜索结果


03.9 简单的搜索模式

利用正则表达式来描述要搜索的目标,例如:利用

/^include 查找只出现在开头的include
/include$ 查找只出现在末尾的include


匹配任何的单字符

. 字符可以匹配任何单字符,例如/c.m,可以找到computer、cum等等


如果要查找的本身就是’.’字符,需要用反斜杠来转义。

03.10 使用标记

当使用跳转命令时(例如G、H、M、L等命令,不包括hjkl命令),使用

·· 命令可以跳回到出发点
ctrl o 可以跳回之前早些位置
ctrl i 跳回停置光标的更新的位置


有名标记

利用

m 命令标记当前位置并命名,例如“ma”


然后使用

' 命令跳转到标记行的行首,例如'
4000
a
` 命令跳转到标记所在的行和列,位置比较精确。例如`a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: