-
把CapsLock映射成
。这个操作我建议使用操作系统的改键工具来完成。win下的修改教程链接,mac下直接在系统设置中改即可。不推荐在vim中改是因为系统内修改一次,所有能开启vi-mode的软件都可以使用CapsLock代替esc了,而不需要每次都重新配置。这条是最重要的一条。设置完这条之后几乎马上就可以体会到vim的好处了。
每当写完一段有小停顿,习惯性按下CapsLock进入normal模式。 -
适应面向搜索编程的思想。我个人感觉vim快最重要的原因就是精准选择。而实现精准选择的必要途径就是搜索。搜索是vim的核心。
比如说你需要跳到下个函数,那直接/def。再比如需要跳到括号末,直接f)。终端中,刚输入完python eval.py device cuda data.batch_size 256,发现这行指令中的python要改成python3,可以 直接Fna3。又发现前面要加sudo,直接^isudo。总之一切精确修改都是通过搜索来完成的,这与我们不使用vim编程时搜索只用来查找代码有本质区别。上面它举的几个例子,我怎么都不会输入?? -
精确跳转+可视化模式 。掌握精确跳转后,结合v V ctrl+v 这三种可视化模式进行精确选择,配合cdyrp等指令,可以完成极其灵活的代码增删改查。到这一步你会发现vim对你编程速度的提高已经是革命性的了。
可以试试用^$移动到行首行末,用w移动到单词结尾,yyp复制粘贴当前行,gg跳到文件开头,G跳到文件结尾,gd跳到定义,/def跳到下个函数开始的地方。用cw修改当前单词,用cf.直接修改到下个.号。
终端中,输入vimtutor zh,可对vim进行练习
Vim快速移动光标至行首和行尾
1、 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。
2、 如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键"$"(Shift+4)。与快捷键"^"和0不同,快捷键"$"前可以加上数字表示移动的行数。例如使用"1$"表示当前行的行尾,"2$"表示当前行的下一行的行尾。
dd删除的行,可以通过p进行粘贴
vimtutor zh中命令的总结
移动光标
光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)
行尾和行首:
欲移动光标到行首,请按数字0或^
欲移动光标到行尾,请按$。与快捷键"^"和0不同,快捷键$前可以加上数字表示移动的行数。
例如使用"1$"表示当前行的行尾,"2$"表示当前行的下一行的行尾。
文档头和文档尾:
CTRL-G 用于显示当前光标所在位置和文件状态信息。
G 用于将光标跳转至文件最后一行。
先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
gg 用于将光标跳转至文件第一行。
括号:
如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。
删除修改、查找替换
删除:
删除类命令的格式是:d [number(数字)] motion
[number] - 可以附加的数字,代表动作重复的次数
motion代表操作的动作,可以为:
w - 从当前光标当前位置直到下一个单词起始处,包括单词间的空格。
e - 从当前光标当前位置直到单词末尾,不包括单词间的空格。
$ - 从当前光标当前位置直到当前行末。
举例如下:
1. 欲从当前光标删除至下一个单词,请输入:dw
2. 欲从当前光标删除至当前行末尾,请输入:d$
3. 欲删除整行,请输入:dd
4. 欲重复一个动作,请在它前面加上一个数字,如d2w代表删除两个单词,再如2dd或d2d 删除两行代表删除两行
使用d删除掉的内容,可以通过p粘贴出来
修改:
更改类命令的格式是:c [number] motion。
c的参数和d一样的,比如 w 代表单词,$代表行末等等。
查找:
输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查
找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。
CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。【这个不太懂,它是什么样的跳转规则??】
替换:
在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g
将两行之间的所有的字符串 old 替换为新的字符串 new,请输入 :#,#s/old/new/g,如566,571s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc
其他:
在正常模式下删除光标所在位置的字符,请按: x
要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字符即可。
其他简单的操作
欲退出 Vim 编辑器,请输入 <ESC> :q! <回车> 放弃所有改动。
或者输入 <ESC> :wq <回车> 保存改动。
欲插入或添加文本,请输入:
i 在光标前插入文本
I 在行首插入文本
a 在光标后插入文本(最常用)
A 在行尾插入文本
欲撤消以前的操作,请输入:u (小写的u)
欲撤消在一行中所做的改动,请输入:U (大写的U)
欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R
标签:old,vim,光标,当前,使用,字符串,new,输入
From: https://www.cnblogs.com/codingbigdog/p/16624274.html