https://download.csdn.net/download/qccz123456/10567716
vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。
vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。
基本步骤:1. vim hello.c 2. 键入i 3. 编辑 4. 键入[ESC] 5. 键入:wq保存退出
命令模式:用于复制、粘贴、删除、插入、撤销、移动等命令
移动: h、j、k、l--移动左、下、上、右光标(j比较像↓)
数字0--到本行行头 $--到本行行尾
^--到本行第一个非空格字符 g_--带本行最后非空格字符
gg--到文件第一行 G--到文件最后一行(注意是大写)
数字nG--到第n行(冒号:数字n--也可以到指定n行)
w--到下一个单词开头 e--到下一个单词结尾
W--到下一个空格前 E--到下一个空格后
%--匹配括号移动(包括()、[ ]、{ },需要先移动到某个括号上)
*/#--移动到与当前光标所在单词相匹配的下一个/上一个单词
插入: i--在光标前插入文本 a--在光标后插入文本
o--在当前行后插入新行 O--在当前行前插入新行(大写)
删除: x--删除当前光标所在字符
dd--删除当前光标所在行,删除的内容在剪切板中
[n]dd--删除当前光标所在行开始的n行
复制: yy--复制当前光标所在行
[n]yy--n为数字,复制当前光标开始的n行
粘贴: p--粘贴剪切板到光标所在行
搜索: /name<enter>--查找光标之后的名为“name”的字符串,后按n,字符间跳转
撤销: u--撤销(注意是小写) Ctrl+r--回退
替代: r--替代当前光标处的字符 cw--替代从光标处所在位置后到一个单词结尾的字符
:%s/foo/bar/g 将文中所有foo替换成bar
其他:gU--单词变大写gu--单词变小写
剪切==删除+粘贴
底行模式:
:w 保存(后跟文件名,可文件另存为)
:q 退出vi(系统会提示保存修改)
:q! 强行退出(对修改不做保存)
:wq 保存后退出
:set number 显示行号 :set nonumber 取消行号
:!<系统命令> 执行一个系统命令并显示结果,按<enter>返回
:!sh 切换到命令行,按Ctrl+d返回vim
:help <command> 显示vim相关命令帮助
:e <path/file>打开一个文件 :bn和:bp上下文件之间切换(:n到下一个文件)
更好更快更强
数字n<command>:重复command命令数字n次,3dd、2p
.(小数点):重复上一次命令
v:可视化操作(输入命令前先输入v)
块操作:Ctrl+v,移动光标选择对象,大写的 I,<command>,如#或//,esc两次,生效
自动缩进:Ctrl+v,移动光标选择行,=
左右缩进:Ctrl+v,移动光标选择行,</>
多行注释:Ctrl+v,选择多行,大写的 I,输入#,esc两次
多行取消注释:Ctrl+v,选择多行需要删除的部分,d
自动提示:Ctrl+n
设置tab缩进为4个空格:vim /home/hostname/.vimrc
set ts=4
set expand tab
set smart indent
set tabstop=4
set shiftwidth=4
set softtabstop=4
在vim内打开新的文件输入 :e myFile.c
分屏显示: 上下分 :split 简写 :sp 左右分 :vsplit 简写 :vsp
Ctrl+ww——依次向后切换到下一个窗格中