人生苦短,我用vim


提示:以下是本篇文章正文内容,下面案例可供参考

一、vim

1.1 vim简单介绍

  vi 是”visual interface”的简称, 它在 Linux 上的地位就仿佛 Windows 中的记事本一样. 它可以执行编辑、删除、查找、替换、块操作等众多文本操作, 而且用户可以根据自己的需要对其进行定制.。vi 是一个文本编辑程序, 没有菜单, 只有命令。vimvi 的高级版本。

1.2 vim的三种模式

  Vi 有三种基本工作模式: 命令模式、文本输入模式、末行模式。
在这里插入图片描述

1.3 vim基本操作

1.3.1命令模式下的操作

  用户按下 esc 键, 就可以使 vi 进入命令模式下; 当使用 vi 打开一个新文件开始也是进入命令模式下。

保存退出

快捷键 操作
ZZ 保存退出

当你使用 Vi / Vim 进行编辑,在命令行模式下,你使用ZZ退出会出现下列情况(这是我用Centos7.6测试的)
在这里插入图片描述

代码格式化

快捷键 操作
gg=G 代码的格式化

光标移动

快捷键 操作
h 光标左移
j 光标下移
k 代码上移
l 光标右移
w 移动一个单词
gg 光标移动到文件开头
G 光标移动到文件末尾
0 光标移到到行首
$ 光标移到到行尾
nG 行跳转, 例12G, 跳到12行处

删除命令

快捷键 操作
x 删除光标后一个字符,相当于 Del
X 删除光标前一个字符,相当于 Backspace
dw 删除光标开始位置的字,包含光标所在字符
d0 删除光标前本行所有内容,不包含光标所在字符
D[d$] 删除光标后本行所有内容,包含光标所在字符
dd 删除光标所在行(本质其实是剪切)
ndd 从光标当前行向下删除指定的行数, 如15dd
v/ctrl+v 使用h、j、k、l移动选择内容, 然后按d删除其中ctrl+v是列模式, v为非列模式

撤销和反撤销命令

快捷键 操作
u 一步一步撤销, 相当于word文档的ctrl+z
ctrl-r 反撤销, 相当于word文档的ctrl+y

复制粘贴

快捷键 操作
yy 复制当前行
nyy 复制n行, 如10yy
P 在光标所在位置向下新开辟一行, 粘贴
p 在光标所在位置向下新开辟一行, 粘贴
剪切操作 dd或者ndd删除, 将删除的行保存到剪贴板中, 然后按p/P就可以粘贴了

可视模式

快捷键 操作
v/ctrl+v 使用h、j、k、l移动选择内容;使用 d 删除,使用 y 复制,使用 p粘贴到光标的后面,使用P粘贴到光标的前面
r 替换当前字符
R 替换当前行光标后的字符

查找命令

快捷键 操作
/ /xxxx, 从光标所在的位置开始搜索, 按n向下搜索, 按N向上搜索
? ?xxxx, 从光标所在的位置开始搜索, 按n向上搜索, 按N向下搜索
# 将光标移动到待搜索的字符串上, 然后按n向上搜索,但N向下搜索
shift + k 在待搜索的字符串上按shift+k或者K, 可以查看相关的帮助文档

1.3.2 切换到文本输入模式

  • 从命令模式切换到文本输入模式只需输入如下命令:
快捷键 操作
i 在光标前插入
a 在光标后插入
I 在光标所在行的行首插入
A 在光标所在行的行尾插入
o 在光标所在的行的下面新创建一行, 行首插入
O 在光标所在的行的上面新创建一行, 行首插入
s 删除光标后边的字符, 从光标当前位置插入
S 删除光标所在当前行, 从行首插入
按列模式插入 先按ctrl+v进入列模式, 按hjkl移动选定某列,按I或者shift+i向前插入, 然后插入字符, 最后按两次esc

1.3.3 末行模式下的操作

  • 从命令模式切换到末行模式, 输入冒号 (:)

保存退出

快捷键 操作
q 退出
q! 强制退出,不保存修改内容
w 保存修改内容, 不退出
wq 保存并退出
x 相当于wq

替换操作

  下面表格中 old 表示原字符串, new 表示新字符串

快捷键 操作
:s/old/new/ 光标所在行的第一个old替换为new
:s/old/new/g 光标所在行的所有old替换为new
:m, ns/old/new/g 将第m行至第n行之间的old全部替换成new
:%s/old/new/g 当前文件的所有old替换为new
:1,$s/old/new/g 当前文件的所有old替换为new
:%s/old/new/gc 同上,但是每次替换需要用户确认

快速翻屏

快捷键 操作
ctrl + u 向下翻半屏(up)–光标向上移动
ctrl + d 向上翻半屏(down)–光标向下移动
ctrl + f 向上翻一屏(front)
ctrl + b 向后翻一屏(back)
  • 在末行模式下执行shell命令
    !shell命令
    按下两次esc 可以回到命令模式

分屏操作

  • 在打开文件之后分屏:
快捷键 操作
sp 当前文件水平分屏
vsp 当前文件垂直分屏
sp 文件名 当前文件和另一个文件水平分屏
vsp 文件名 当前文件和另一个文件垂直分屏
ctrl-w-w 在多个窗口切换光标
wall/wqall/xall/qall/qall! 保存/保存退出/保存退出/退出/强制退出分屏窗口
  • 屏:
    分屏:vim -on file1 file2 …
    垂直分屏: vim -On file1 file2…
    注意: n可以省略, 有几个文件就分几屏

  • 从末行模式切换回命令模式
    按两次ESC, 退格(backspace)或者回车键

1.3.4 vim的配置文件

用户级别配置文件
~/.vimrc, 修改用户级别的配置文件只会影响当前用户, 不会影响其他的用户.
例如: 在用户的家目录下的.vimrc文件中添加

  • set tabstop=4 ----设置缩进4个空格

  • set nu ----设置行号

  • set shiftwidth=4 —设置gg=G缩进4个空格, 默认是缩进8个空格

系统级别配置文件
  /etc/vim/vimrc, 修改了系统级别的配置文件将影响系统下的所有用户.

Note: 由于linux是多用户操作系统, 建议只在用户级别的配置文件下进行修改, 不要影响其他用户.

总结

期待大家和我交流,留言或者私信,一起学习,一起进步!

猜你喜欢

转载自blog.csdn.net/CltCj/article/details/123596776