VIM学习笔记-01
2017-08-16 19:27
281 查看
Vim编辑器功能强大,但入门也不是很简单,以前曾接触过一段时间,后来很久没用就很快忘记了,现在打算重新拾起来。
参考资料:GVIM用户手册
:set showmode 打开显示模式的开关
无论处于何种模式,按Esc键都会回到Normal模式。
使用命令计数:
指定的数字要紧邻在它要修饰的命令前面。
或者按F1键会带你回到帮助文件的起始点。帮助窗口也是一个普通的编辑窗口,可以通过hjkl来回移动光标。
在浏览帮助文档时如果遇到超链接(使用中括号包起来的命令,例如[count]),可以在该中括号之间的任何位置使用命令
跳转到制定的主题。如果想要跳出来可以使用以下命令:
要查看某个特殊主题的帮助,使用以下命令形式:
例如
这四个命令都可以用“;”命令来重复操作,而“,”命令也是重复操作只不过方向相反。
该命令会匹配与它相对应的括号,无论大括号还是小括号。如果当前光标不在括号上,它会向前寻找遇到的第一个括号,并匹配。
百分比跳转
只移动目前屏幕上的那些行
使用
对于查找的字符串中包含特殊字符,例如
需要在这些字符前加反斜杠进行转义,例如”/100$”
忽略大小写
关闭忽略大小写
命令历史纪录
在文本中查找下一个WORD
比如你要找一个单词的下一个单词位置,这时你可以把将光标定位在这个的单词上,然后按下“*”键,就会搜索到下一个单词位置。
这些命令都可以在前面加计数器进行搜索
查找整个WORD
匹配任何的单字符
如果要查找的本身就是’.’字符,需要用反斜杠来转义。
有名标记
利用
然后使用
参考资料: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
相关文章推荐
- VIM学习笔记 比较文件(diff)
- Mybatis-Generator_学习_01_mybatis-generator笔记
- Vim--学习笔记
- 【NodeJS 学习笔记01】不学就老了
- 转载来的wcf学习笔记01
- linux 学习笔记-01
- Enterprise Library 学习笔记-01
- Python学习笔记01----求解整数N以内(N>=2)以内的所有素数
- Linux之ubuntu学习笔记(五):文件的编辑 ( vim的使用)
- Git学习笔记01--初始化设置
- C语言笔记学习01
- python核心编程学习笔记-2016-08-28-01-习题18-4和习题18-9
- 分布式服务框架学习笔记 01 - 软件架构发展史
- linux学习笔记:vim程序编辑器
- Android源码学习笔记01
- vim学习笔记
- JAVA学习重点笔记01
- Linux c编程一站式学习笔记(01), switch语句
- JavaWeb学习笔记-spring-01-概述(实例)
- Android(java)学习笔记252:ContentProvider使用之内容观察者01