1. vim三种模式

vim打开文件的方式:

vim path 打开指定文件

vim +number 文件路径 打开指定文件并且光标定位到指定number行。默认上次打开位置

vim +/string path 打开指定文件并且高亮显示关键词string

vim path1 path2 path3 path4 同时打开多个文件

2 命令模式(默认模式)

该模式下文件不能直接编辑,可以输入快捷键进行一些操作,删除行、复制行、移动光标、粘贴…

1.光标移动

1.移动到行首 shift+6 = ^

2.移动到行尾 shift+4 = $

3.移动到首行 gg

4.移动到末行 G or shift+g

5.翻屏 向上ctrl+b(back) or page up 向下 ctrl+f(forward) or page down

6. 快速移动到指定行 number G (go)

7.以当前光标为准向上/下移动n行 number ↑ number ↓

8.左右移动n字符 number ← number →

9. 末行模式移动到指定行 shift+;+ number + 回车

2. 复制

1.复制光标所在行 yy 在想要粘贴的地方按p

2.以光标所在行为准(包含当前行)向下复制指定行数 number yy

3.可视化块复制 ctrl+v + 移动光标or方向键选中区块+yy+p

3. 剪切/删除

1.剪切光标所在行 dd+p

2.剪切/删除 光标所在行为准,向下指定行 number dd

3.删除所在当前行光标之后的内容,删除后下一行不上移 (空白行)D or shift+d

4. 撤销/恢复 shift+;+u+回车 or u (undo) 恢复ctrl+r取消撤销操作

3.模式间的切换

3 vim - 图1

4. 编辑模式(输入模式)

对文件内容进行编辑

i 在光标所在字符前插入

a 在光标所在字符后插入

o 在光标所在行下面另起一新行插入

I 在光标所在行首开始插入

A 在光标所在行尾插入

O 在光标所在行上一行插入

S 删除光标所在行并插入

esc 退出

5. 末行模式(尾行模式)shitf+; 进入 /搜索 esc退出

在末行输入命令进行操作,搜素、替换、保存、退出、撤销、高亮…

1.保存操作 @:w write保存文件 :w path 另存为

2.退出 :q :wq保存退出

3.强制 ! :q!强制退出不保存

4. 调用外部命令 :!外部命令

5.搜索替换 /string 切换搜索结果 shift+n or N向上 n向下 (next)
  1. `:s/swap1/swap2` (swap) 替换光标所在行第一个swap1
  2. `:s/swap1/swap2/g` 替换光标所在行的所有swap1
  3. `:%s/swap1/swap2` 替换每一行第一个swap1
  4. `:%s/swap1/swap2/g` 替换每行的所有swap1

% 表示整个文档

g = global 全局

3 vim - 图2

6. 拓展 vim打开多个文件,在末行模式下操作

查看当前打开的文件名称 :files

3 vim - 图3

在%a的位置有2种显示可能 %a: active表示当前已经正在打开的文件 #:表示上一个打开的文件 切换文件的方式: a. 如果需要指定切换文件的名称,可以输入 :open <name> b. 可以通过其他命令切换上/下一个文件 :bn (back next)下 :bp上 (back previous:)

6. vim实用功能

1. 代码着色 syntax on/off

2. vim中的计算器使用 编辑模式 ctrl+r+=输入需要计算而得内容 按下enter

7. 扩展

1 vim的配置

末行模式输入的临时配置

个人配置 ~/.vimrc

"set nonu 不显示行号
set number

set laststatus=2
syntax on
set hlsearch
set autoindent
set smartindent
set cindent
set tabstop=4
set softtabstop=0
set nocompatible
set ruler
set incsearch
set showmatch
set nohls
if has("vms")
set nobackup
else
set backup
endif

全局配置文件 /etc/vimrc

2 异常退出

3 vim - 图4

解决办法: 直接删除交换文件

rm -f .<name>.swp

3 vim - 图5

3. 别名机制 依靠一个别名映射文件~/.bashrc

作用: 相当于创建一些属于我们自己的自定义命令

vim ~/.bashrc alias xx= '??'

3 vim - 图6

保存并重新登录。即可以用cls替换clear

4. 退出方式

除了 :q :wq. :wq不论是否有修改都会改变文件最近更新时间

选择:x 没有修改的情况下不会改变文件最近更新时间。

note :X 加密