vim 编辑器操作

编辑模式:
h向左移动
j向下移动
k向上移动
l向右移动
#h 向左移动#个字符。5h 向左移动5个字符
w 移动到下一个单词词首
e 跳到当前单词词尾或下一个单词词尾
b 跳到当前或前一个单词词首

#w 移动W个单词
0 跳到行首 绝对行首
^ 跳到行首 第一个非空白字符
$ 跳到行尾 绝对行尾
#G 跳转到#行上
G 跳转到文末尾

ctrl+f 向下翻一屏
ctrl+d 向下翻半屏
ctrl+b 向上翻一屏
ctrl+u 向上翻半屏


末行模式:
:wq 保存并退出 :x 也可以保存并退出
:q! 强制不保存且退出
:# 跳转到#行。
:#,#dd 删除#,#行
:. 表示当前行
:$ 表示最后一行
:.,$y 从当前行复制到最后一行
:+# 向下的#行
:-# 向上的#行


输入模式:

编辑模式下:
x #x 删除光标所在处的#字符
u :撤销
dd :删除当前行
#(数字)dd :向下删除指定数量的行
#d跳转符:删除跳转符范围的#个。 dw de db
p:粘贴,最后一次删除的内容可以被粘贴到指定的位置。
小写p如果删除或复制为整行内容,则粘贴至光标所在行正下方;如果非整行,则粘贴至光标所在字符后面。大写P复制到上方。
复制命令y
yy 复制一行
#yy 复制#行
y$ 、 y0 、 :10,20y
cc 修改,删除当前内容并转入输入模式。
r 替换,替换当前字符

:/PATTERN 文件内查找并跳转到查找到的地方

打开文件:
vim +数字 /path/to/file 直接跳到12行的第一个字符;
vim + /path/to/file 直接跳到最后一行的第一个字符;

关闭文件:

编辑 --> 输入:
i o a 进入输入模式,在当前光标所在字符前面、下面新建一行、后面转换为输入模式。
I :在当前光标所在行的行首,转换为输入模式
A :在当前光标所在行的行尾,转换为输入模式
O : 在当前光标所在行的上方,新建一行,转换为输入模式
输入 --> 编辑:
esc 进入编辑模式

编辑 --> 末行:

10d 删除第10行
8,10d 删除8-10行
set nu 显示行号
!ls /etc 可以执行命令
末行 --> 编辑:
esc 如果你在末行模式有输入东西,那么可能需要多按几次esc;


查找:
/PATTERN
?PATTERN

查找并替换
在末行模式下使用s命令
ADDR1,ADDR2s@PATTERN@string@gi
1,$
%:表示全文

练习:将/etc/yum.repos.d/server.repo文件中的ftp://instructor.example.com/pub替换成http://172.16.0.1/yum

全局替换: %s@ftp://instructor\.example\.com/pub@http://172.16.0.1/yum@g
单行替换: 1s@ftp://instructor\.example\.com/pub@http://172.16.0.1/pub@
1-3行替换: 1,3s@ftp://instructor\.example\.com/pub@http://172.16.0.1/pub@

 

十六、使用vim编辑多个文件。
vim FILE1 FILE2 FILE3
末行模式使用以下命令切换:
next 下一个
prev 上一个
last 最后一个
first 第一个
:qa 退出所有文件

十七:分屏显示一个文件
编辑模式里
Ctrl+w ,s:水平拆分窗口
Ctrl+w ,v: 垂直拆分窗口
Ctrl+w , q: 关闭当前窗口
Ctrl+w,ARROW 上下左右光标移动窗口位置
:qa 同时退出所有窗口


十八:分窗口显示多个文件
vim -o inittab passwd 水平分窗口显示两个文件
vim -O 垂直分割显示

十九:将当前文件的部分内容另存为另一个文件
末行模式下使用w命令
:w /path/to/somewhere

保存部分内容,可以用v可视化命令y复制p粘贴

二十:将另一个文件的内容填充到当前光标所在位置。
:r /path/to/file


二十一、跟shell交互
:! COMMAND

二十二、高级话题
1、显示或取消行号
:set nu
:set nonu

2、vim可以忽略或区分字符大小写
:set ignorecass

3、设定自动缩进
:set autoindent
set ai

4、高亮显示
set hlsearch

5、语法高亮
:syntax on
:syntax off


二十三、配置文件。
如果想要某个功能永久生效,就得修改配置文件。
/etc/vimrc 全局配置
~/.vimrc 个人配置,没有这个文件需要创建

vimtutor 帮助教程

排错:
错误:打开文件出现
E325:ATTENTION
Found a swap file by the name ".inittab.swp"

Swap file ".
[O]pen Read-Only, (E)dit anyway, (R)ecover , (D)elete it ,(Q)uit , (A)bort:
R: 恢复此前编辑的内容
D: 删除此前编辑的内容


这个是因为你打开这个文件编辑时非法退出了,此时在这个文件的目录会生成一个.initab.swp。
可以使用vim -r inittab 先恢复这个文件,vim进入并保存退出该文件,然后删除这个文件的.swp就不会再出现错误提示了。

 

posted @ 2023-06-26 16:07  echo-123  阅读(37)  评论(0编辑  收藏  举报