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.模式间的切换
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)
`:s/swap1/swap2` (swap) 替换光标所在行第一个swap1`:s/swap1/swap2/g` 替换光标所在行的所有swap1`:%s/swap1/swap2` 替换每一行第一个swap1`:%s/swap1/swap2/g` 替换每行的所有swap1
% 表示整个文档
g = global 全局

6. 拓展 vim打开多个文件,在末行模式下操作
查看当前打开的文件名称 :files

在%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 异常退出

解决办法: 直接删除交换文件
rm -f .<name>.swp

3. 别名机制 依靠一个别名映射文件~/.bashrc
作用: 相当于创建一些属于我们自己的自定义命令
vim ~/.bashrc alias xx= '??'

保存并重新登录。即可以用cls替换clear
4. 退出方式
除了 :q :wq. :wq不论是否有修改都会改变文件最近更新时间
选择:x 没有修改的情况下不会改变文件最近更新时间。
note :X 加密
