搜索取消高亮::nohl
1、光标定位快捷键:
H -> 光标定位到屏幕上方
M -> 光标定位到屏幕中间
L -> 光表定位到屏幕下方
b -> 光标向前移动上一个单词词头
B -> 光标向前移动一个big-word的单词词头
e -> 光标向后移动下一个单词的词尾
E -> 光标向后移动下一个big-word的单词词尾
w -> 光标向后移动到下一个单词的词头
W -> 光标向后移动到下一个big-word的单词词头
u -> undo 取消操作
Ctrl+r -> redo 恢复操作
r -> 在命令模式中,覆盖当前字符
R -> 进入编辑模式,覆盖当前字符,也就是替换模式
Ctrl+t -> 在编辑模式,向右缩进一格
Ctrl+d -> 在编辑模式,向左缩进一格
2、当前行定位快捷键:
zt -> 把当前行放到屏幕的最上方
zb -> 把当前行放到屏幕的最下方
zz -> 把当前行放到屏幕的中间
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
G, 1G, 0, $
如何删除一行、n行;如何删除一个字符?
dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)
如何复制一行、n行并加以贴上?
yy, nyy, p 或 P
如何搜寻 string 这个字符串?
?string (往前搜寻)
/string (往后搜寻)
如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
:1,$s/word1/word2/g 或
:1,$s/word1/word2/gc (需要使用者确认)
如何读取一个档案 filename 进来目前这个档案?
:r filename
如何另存新档成为 newfilename?
:w newfilename
如何存盘、离开、存盘后离开、强制存盘后离开?
:w; :q: :wq; :wq!
如何设定与取消行号?
:set nu
:set nonu
如何设置回车后自动缩进?
:set ai
如何设置tab的字符个数?
:set tabstop=4
<!--EndFragment-->
- h 左,j 下, k 上, l 右
- x 删除当前光标后的一个字符
- i 在当前光标插入
- u 撤销一次操作
- ctrl + r 重复上一次操作
- w 向右移动一个词首
- b 向左移动一个词首
- e 向左移动到一个词末
- ge 左右移动到一个词末
- W 向右移动到句首
- B 向左移动到句首
- E 向右移动到句末
- gE 向左移动到句末
- ^ 行首
- $ 行尾
- f + 字母,当前行,当前光标向左定位到指定字母处(常用操作)
- F + 字母,当前行,当前光标向右定位到指定字母处
- % 匹配括号
- 数字 + gg,定位到数字行
- 数字 + %,定位到占全文百分之数字的行
- ctrl + f,向下翻页
- ctrl + b,向上翻页
- /字符串,以当前光标为基准,向下全文查找字符串,支持正则表达式
- ?字符串,以当前光标为基准,向上全文查找字符串,支持正则表达式
- c,修改,即删除文本后,进入插入模式
- v,进入可视模式
- y,拷贝内容
- split/vsplit 将一个文件切成两个的窗口,合理利用屏幕资源(默认是横着分,vsplit是垂直分)
- ctrl + w 在多个窗口间切换
- :qall 退出所有窗口
- 比较两个文件的差异,vimdiff
- do 获取右边与左边不一样的(diff obtain)
- dp 将左边的放到右边(diff put)
- :s/target/replace/g 替换当前行的target字符串到replace,/g指的是同一行内多次匹配
- :1,5s/target/replace/g 替换第一行到第五行中的target字符串到replace
- :%s/target/replace/g 替换整个文件中的target字符串到replace,/g表示整
行
- :s/ \([^,]*\) , \(.*\) /\2 \1/g 反向引用,将第一个和第二个正则子表达式匹配的值置换下位子
- g ctrl + g 显示字符数,字数,行和列
- 快速选中技巧: v + f 或 v + / 组合
- gu / gU 小写/大写
- :read 读一个文件到当前光标下 简写 :r
- :write 写入另一个文件中 简写 :w
- q: 指令历史记录
- :[range]! xx 执行shell指令,比如 1,5!cat -n则,使1到5行加上行号
- :tabedit 在同一个vim进程里,新建一个tab,共享寄存器和内存
- gt 在tab间切换
- \c 当在前指令里忽略大小写,比如查找word的指令 /\cword ,那么 word,Word,WORD都将匹配
- :iabbrev 定义快捷字符串模板,比如 :iabbrev ad adverisement 那么在你进行编辑文本时,输入ad+空格,就会自动补全ad这个单词。如果要每次都是用,最好加到 vimrc 里.
- 使用 * 键可以向后搜索光标所在位置的单词。反之,使用 # 键可以向前搜索光标所在位置的单词。
- 使用 ga 可以看到光标下的字符的ASCII值。
- 用 xp 来交换两个字符,用 ddp 来交换两行。
- 使用如下命令给正在编辑的文件添加行号: :%!cat -n
插件:
NERD_tree ctags Tlist Winmanager
http://vim.wikia.com/wiki/Use_Vim_like_an_IDE
NERDTree快捷键:
o 打开关闭文件或者目录
t 在标签页中打开
T 在后台标签页中打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
gt tab之间的切换下一个
gT tab之间的切换上一个
ngt 第n个tab切换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步