Linuxvim三种模式的快捷键
vim命令
vim三种模式:命令模式、插⼊模式、末⾏模式。使⽤ESC或i或:来切换模式。
命令模式:
>>>>>>>>>>>>>>>>>##⼀、移动光标
h,j,k,l 上,下,左,右
ctrl-e 移动页⾯
ctrl-f 上翻⼀页
ctrl-b 下翻⼀页
ctrl-u 上翻半页
ctrl-d 下翻半页
w 跳到下⼀个字⾸,按标点或单词分割
W 跳到下⼀个字⾸,长跳,如end-of-line被认为是⼀个字linux系统vim编辑器
e 跳到下⼀个字尾
E 跳到下⼀个字尾,长跳
b 跳到上⼀个字
B 跳到上⼀个字,长跳
0 跳⾄⾏⾸,不管有⽆缩进,就是跳到第0个字符
^ 跳⾄⾏⾸的第⼀个字符
$ 跳⾄⾏尾
gg 跳⾄⽂⾸
G 调⾄⽂尾
5gg/5G 调⾄第5⾏
gd 跳⾄当前光标所在的变量的声明处
fx 在当前⾏中x字符,到了就跳转⾄
; 重复上⼀个f命令,⽽不⽤重复的输⼊fx
* 查光标所在处的单词,向下查
# 查光标所在处的单词,向上查
>>>>>>>>>>>>>>>>>##⼆、删除复制
dd 删除光标所在⾏
dw 删除⼀个字(word)
d/D删除到⾏末x删除当前字符X删除前⼀个字符yy复制⼀⾏yw复制⼀个字y
/Y 复制到⾏末
p 粘贴粘贴板的内容到当前⾏的下⾯
P 粘贴粘贴板的内容到当前⾏的上⾯
>>>>>>>>>>>>>>>>>##三、插⼊模式
i 从当前光标处进⼊插⼊模式
I 进⼊插⼊模式,并置光标于⾏⾸
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于⾏末
o 在当前⾏之下新加⼀⾏,并进⼊插⼊模式
O 在当前⾏之上新加⼀⾏,并进⼊插⼊模式
输⼊关键字,再按住Ctrl+n ,进⾏补全操作。
Esc 退出插⼊模式
>>>>>>>>>>>>>>>>>##四、编辑
视模式让你可以选择⽂件的⼀部分内容,以便作⽐如删除,复制等⼯作。
进⼊可视模式
在命令⾏模式下输⼊字符v 进⼊可视模式,便可以进⼊按字符选择模式,通过h(左)、j(下)、k(上)、l(右)键移动光标,当光标移动时,就能看到有⼀些⽂本被⾼亮显⽰了,它们就是被选中的内容。
编辑相关内容,再按ESC退出。批量编辑
三种可视模式
⼩v ⼀个字符⼀个字符地选。从按下v的那个字符起,⼀直到光标所移动到的位置之间的内容都被选中。(按字符复制与粘贴)
⼤V ⼀⾏⼀⾏地选。从按下V的那⾏起,⼀直到光标所移动到的⾏之间的所有⾏都被选中。(按⾏复制与粘贴)
Ctrl-v(可以⽤来删除⼀列和多列)
它选中屏幕上的⼀个矩形区域。以按下Ctrl-v的位置为⼀个⾓,光标所在位置为它的对⾓。
在块模式下,可以进⾏多列的同时修改,修改⽅法是:
⾸先进⼊块模式 Ctrl+ v
使⽤按键j/k/h/l进⾏选中多列
按键Shift + i 进⾏块模式下的插⼊
输⼊字符之后,按键ESC,完成多⾏的插⼊
可视模式下的编辑
在可视模式下 d或D的实际功能是剪切。可⽤剪切功能来做删除⽂本
d 删除所选中的部分。
D 删除所选中部分所在的⾏。即使没有把⼀⾏都选中,也把⼀⾏都删除。
复制
y复制选中的部分。
p粘贴复制或剪切的内容
更改模式
可以随时在可视模式中的三种之间切换,只需按进⼊想要切换到的模式的命令即可。
更改⽂本
c删除所选中的部分并切换到输⼊模式。
C删除所选中的部分所在的⾏并切换到输⼊模式。
合并⾏
当选中想合并在⼀起的⾏以后,按下
J(⼤写)
J 将下⼀⾏和当前⾏连接为⼀⾏
cc 删除当前⾏并进⼊编辑模式
cw 删除当前字,并进⼊编辑模式
c$ 擦除从当前位置⾄⾏末的内容,并进⼊编辑模式
s 删除当前字符并进⼊编辑模式
S 删除光标所在⾏并进⼊编辑模式
xp 交换当前字符和下⼀个字符
u 撤销
ctrl+r 重做
~ 切换⼤⼩写,当前字符
>> 将当前⾏右移⼀个单位
<< 将当前⾏左移⼀个单位(⼀个tab符)
== ⾃动缩进当前⾏
>>>>>>>>>>>>>>>>>##五、查替换
/pattern 向后搜索字符串pattern
pattern 向前搜索字符串pattern
"\c" 忽略⼤⼩写
"\C" ⼤⼩写敏感
n 下⼀个匹配(如果是/搜索,则是向下的下⼀个,?搜索则是向上的下⼀个)
N 上⼀个匹配(同上)
:%s/old/new/g 搜索整个⽂件,将所有的old替换为new
:%s/old/new/gc 搜索整个⽂件,将所有的old替换为new,每次都要你确认是否替换
>>>>>>>>>>>>>>>>>##六、退出编辑器
:w 将缓冲区写⼊⽂件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进⾏过修改,则会提⽰
:q! 强制退出,放弃修改
>>>>>>>>>>>>>>>>>##七、多⽂件编辑
vim file1.. 同时打开多个⽂件
:args 显⽰当前编辑⽂件
:next 切换到下个⽂件
:prev 切换到前个⽂件
:next!不保存当前编辑⽂件并切换到下个⽂件
:prev!不保存当前编辑⽂件并切换到上个⽂件
:wnext 保存当前编辑⽂件并切换到下个⽂件
:wprev 保存当前编辑⽂件并切换到上个⽂件
:first 定位⾸⽂件
:last 定位尾⽂件
ctrl+^ 快速在最近打开的两个⽂件间切换
:split[sp] 把当前⽂件⽔平分割
:split file 把当前窗⼝⽔平分割, file
:vsplit[vsp] file 把当前窗⼝垂直分割, file
:
new file 同split file
:close 关闭当前窗⼝
:only 只显⽰当前窗⼝, 关闭所有其他的窗⼝
:all 打开所有的窗⼝
:vertical all 打开所有的窗⼝, 垂直打开
:qall 对所有窗⼝执⾏:q操作
:qall! 对所有窗⼝执⾏:q!操作
:wall 对所有窗⼝执⾏:w操作
:wqall 对所有窗⼝执⾏:wq操作
ctrl-w h 跳转到左边的窗⼝
ctrl-w j 跳转到下⾯的窗⼝
ctrl-w k 跳转到上⾯的窗⼝
ctrl-w l 跳转到右边的窗⼝
ctrl-w t 跳转到最顶上的窗⼝
ctrl-w b 跳转到最底下的窗⼝
>>>>>>>>>>>>>>>>>##⼋、多标签编辑
:tabedit file 在新标签中打开⽂件file
:tab split file 在新标签中打开⽂件file
:tabp 切换到前⼀个标签
:tabn 切换到后⼀个标签
:tabc 关闭当前标签
:tabo 关闭其他标签
gt 到下⼀个tab
gT 到上⼀个tab
0gt 跳到第⼀个tab
5gt 跳到第五个tab
>>>>>>>>>>>>>>>>>##九、执⾏shell命令
1、在命令模式下输⼊":sh",可以运⾏相当于在字符模式下,到输⼊结束想回到VIM编辑器中⽤exit,ctrl+D返回VIM编辑器
2、可以"!command",运⾏结束后⾃动回到VIM编辑器中
3、⽤“Ctrl+Z“回到shell,⽤fg返回编辑
4、:!make -> 直接在当前⽬录下运⾏make指令
>>>>>>>>>>>>>>>>>##
⼗、VIM启动项
-o[n] 以⽔平分屏的⽅式打开多个⽂件,切换按Ctrl 再按两次ww
-O[n] 以垂直分屏的⽅式打开多个⽂件
vim 加参数-p
#vim A -p B 编辑B
同时按住 gt 进⾏切换
[root@ansible ~]# vim /etc/ansible/ansible.cfg  -p ooxx/myhost
>>>>>>>>>>>>>>>>>##⼗⼀、⾃动排版
在粘贴了⼀些代码之后,vim变得⽐较乱,只要执⾏gg=G就能搞定
>>>>>>>>>>>>>>>>>##⼗⼆、如何在vim中编译程序
在vim中可以完成make,⽽且可以将编译的结果也显⽰在vim⾥,先执⾏ :copen 命令,将结果输出的窗⼝打开,然后执⾏ :make
编译后的结果就显⽰在了copen打开的⼩窗⼝⾥了,⽽且⽤⿏标双击错误信息,就会跳转到发⽣错误的⾏。
>>>>>>>>>>>>>>>>>##⼗三、buffer操作
1、buffer状态
- (⾮活动的缓冲区)
a (当前被激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)
>>>>>>>>>>>>>>>>>##⼗四、 VIM 操作⽬录

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论