[Vim] Vim 常用基本操作
1. 导航
1.1. 查看行号
:set number 显示行号
:set number! 隐藏行号
:.= 在底部显示当前行号
:= 在底部显示总行号
1.2. 移动光标
0 或 ^ 移动光标到当前行首
$ 移动光标到当前行尾
w 移动到下个单词开头
b 移动到上个单词开头
:0 或 1G 或 gg 移动到首行
:n 或 nG 移动到第 n 行
:$ 或 G 移动到最后一行
'' 回到开始搜索时所在行
`` 回到上一次光标所在位置
ctrl + u 向上翻滚半页
ctrl + d 向下翻滚半页
ctrl + b 向上翻滚整页
ctrl + f 向下翻滚整页
ctrl + n 关键词补完向下滚动
ctrl + p 关键词补完向上滚动
2. 复制粘贴
2.1. 根据行号选择多行复制
:1,10t20 复制第 1 到 10 行的内容,粘贴到第 20 行后面。
:1,10t. 复制第 1 到 10 行的内容,粘贴到当前行后面。
:1,10y 复制第 1 到 10 行的内容到剪切板。
2.2. 复制单行或连续多行
yy 复制当前行
Nyy 复制当前行及其后续 N-1 行。
p 在当前行粘贴剪切板中的内容。
yw 复制单个单词
yl 复制光标覆盖字符
yNw 复制 N 个单词
Nyl 向右复制 N 个字符(含光标覆盖字符)
Nyh 向左复制 N 个字符(不含光标覆盖字符)
Np 粘贴 N 次已复制内容
y$ 从光标所在位置复制到行尾
y^ 从光标所在位置复制到行首(不含光标)
3. 搜索
3.1. 查询字符串
/string 向前查找字符串 string。
?string 向后查找字符串 string。
n 按照当前顺序查找下一个。
N 按照相反顺序查找下一个。
* 查找光标覆盖单词
4. 编辑
4.1. 撤销和恢复
u 撤销操作
<ctrl> + r 恢复操作
4.2. 插入文本
i 光标前插入
I 当前行首插入
a 光标后插入
A 当前行尾插入
o 当前下一行插入
O 当前上一行插入
4.3. 编辑文本
r 替换光标所覆盖的单个字符
R 连续替换光标所覆盖的单个字符
cw 替换光标后一个单词
cNw 替换光标后 N 个单词
C 或 cc 清空当前行
Ncc 或 cNc 清空当前 N 行
4.4. 删除文本
x 删除光标覆盖的单个字符
Nx 删除光标后 N 个字符
dw 删除光标后一个单词
dNw 删除光标后 N 个单词
D 删除本行光标后面内容
dd 删除当前行
Ndd 或 dNd 删除当前后 N 行
:X,Yd 删除第 X 行到 Y 行
:X,$d 删除第 X 行到最后一行
5. 分屏
5.1. 命令行启动
vi -O file1 file2 ... 启动垂直分屏
vi -o file1 file2 ... 启动水平分屏
5.2. 关闭分屏
<ctrl> + w + q 或 :q 或 :hide 关闭当前分屏
<ctrl> + w + c 关闭非最后一屏
<ctrl> + w + o 或 :only 关闭其他分屏
5.3. 新建分屏
<ctrl> + w + s 上下分屏显示当前已打开文件
<ctrl> + w + v 左右分屏显示当前已打开文件
:sp file 或 :split file 在上方分屏打开新文件
:vsp file 或 :vsplit file 在左方分屏打开新文件
:new file 在上方分屏打开新文件,如果未给定文件名则打开空白分屏
:e file 在当前分屏打开新文件
:Ex 开启当前工作目录
:Sex 在上方分屏打开工作目录
5.4. 切换分屏
<ctrl> + w + h 光标移动到左方分屏
<ctrl> + w + j 光标移动到下方分屏
<ctrl> + w + k 光标移动到上方分屏
<ctrl> + w + l 光标移动到右方分屏
<ctrl> + w + w 光标移动到下一个分屏
5.5. 移动分屏
<ctrl> + w + H 分屏移动到左边
<ctrl> + w + J 分屏移动到下边
<ctrl> + w + K 分屏移动到上边
<ctrl> + w + L 分屏移动到右边
5.6. 调整分屏尺寸
<ctrl> + w + = 将所有分屏调整为等高
<ctrl> + w + N+ 当前分屏高度增加 N 行
<ctrl> + w + N- 当前分屏高度减少 N 行
<ctrl> + w + N> 当前分屏宽度增加 N 列
<ctrl> + w + N< 当前分屏宽度减少 N 列
:resN 当前分屏高度调整为 N 行
:res+N 当前分屏高度增加 N 行
:res-N 当前分屏高度减少 N 行
:vertical resN 当前分屏宽度调整为 N 列
:vertical res+N 当前分屏宽度增加 N 列
:vertical res-N 当前分屏宽度减少 N 列
5.7. 查看缓冲
:b N 打开当前窗口中的第 N 个缓冲文件
:ls 查看当前窗口的缓冲文件列表
6. 多标签
6.1. 命令行启动
vi -p file1 file2 ... 多标签编辑 file1, file2 ...
6.2. 切换标签
gt 或 :tabn 切换到右侧标签
gT 或 :tabp 切换到左侧标签
:tabr 切换到第一个标签
:tablast 切换到最后一个标签
:tabm N 将当前标签移动到第 N 个位置
6.3. 开关查看标签
:tabnew file 或 :tabe file 在新标签编辑文件
:tabc 关闭当前标签
:tabo 关闭其他标签
:tabs 查看所有打开的标签
7. 与 Shell 交互
7.1. 执行命令
:! command 在 Vim 中执行 shell 命令
7.2. 切换
:sh 或 :shell 或 <ctrl> + z 挂起 vi 进程
fg 或 <ctrl> + d 返回 vi 进程
8. 锁定滚动
8.1. 锁定终端屏幕滚动
<ctrl> + s 锁定屏幕滚动
8.2. 解锁终端屏幕滚动
<ctrl> + q 解锁屏幕滚动
[Vim] Vim 常用基本操作的更多相关文章
- vi/vim编辑器的基本操作
vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...
- windows下vi/vim编辑器的基本操作
windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...
- (转)vim(vi)常用操作及记忆方法
vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...
- Vim中的基本操作
Vim中的基本操作 vim介绍.实验知识点.Vim中的六种基本模式 2.1 vim 6种模式介绍 从vi衍生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执 ...
- Vimrc配置以及Vim的常用操作
""""""""""""""""&quo ...
- VIM一些常用命令,方法,配置
配置文件地址 github 工具只是为了更好的工具,选择一种,坚持使用学习记忆,熬过瓶颈期就可以了. 现在我基本大的项目是IDE+vim 插件,写小代码是VIM. 常用的操作,便捷的方法 1.如何选中 ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- Sublime编辑器上的Linux Vim插件常用快捷键
Sublime编辑器上的 Vim 插件常用快捷键 vim 的设置: 在Reference-> User Settings(首选项--> 设置用户) 选项,点击进入配置文件编辑状态,默认的用 ...
- vim最常用命令
vi/vim常用命令汇总 vi/vim概述 vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强 版,命令更加多种和复杂,但是最常用的也就是那几个. vi有三种模式 命令行模 ...
- vim的常用指令
vim的常用指令如下: 光标运动: h,j , k, l (上/下/左/右) 删除字符: x 删除行 : dd 模式退出 : Esc,Insert(或者i) 退出编辑器 : q 强制退出不保存: q! ...
随机推荐
- JUnit4测试方法异常抛出实例
它用于测试由方法抛出的异常. import org.junit.*; /** * JUnit Expected Exception Test * @author yiibai * */ public ...
- 图形界面至少要有一个顶级Swing容器
图形界面至少要有一个顶级Swing容器 顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持 常用的顶级容器: JFrame(框架):表示主程序窗口 JDialog(对话框):每个J ...
- (转)解决Win7/8硬盘占用高方案汇总
写在前面 在Windows7时代,很少人会抱怨硬盘占用率高的问题.但是到了Windows7/8.1时,硬盘占用率成为一个扰人的问题.硬盘占用率经常100%会导致系统卡.慢,而且也很伤硬 ...
- perl 查看某个模块的安装路径
perldoc 命令可以查看某个模块的安装路径 命令: perldoc -l Bio::Seq 返回值如下: /usr/local/share/perl5/Bio/Seq.pm
- mysql 5.1超过默认8小时空闲时间解决办法(错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure)
报错: MySQL第二天早上第一次连接超时报错, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications lin ...
- APK防反编译技术
APK防反编译技术 下载地址:地址 我们的APK实际上就是一个ZIP压缩文件,里面包括有一个classes.dex.我们编译后生成的程序代码就所有在那里了, 通过apktool等工具能够轻松地将它们反 ...
- GetDlgItem的用法小结
GetDlgItem用于获得指定控件ID的窗体指针,函数原型如下: HWND GetDlgItem( HWND hDlg, int nIDDlgItem ); CWnd* GetDlgItem(int ...
- Xcode不太常见又实用的小技巧
备份, 原文: http://rocry.com/2012/12/17/xcode-tips/ 让代码中的TODO和FIXME变成Warning 选中某个Target > Build Phase ...
- adb错误:Failed to execute android command 'adb devices'.
好吧,我是用的phonegap3.0开发的,很简单,安装的时候一句phonegap run android –device就可以了(-device参数非必要,我是为了不跑模拟器,加上此参数限制只跑到设 ...
- hibernate validate
http://docs.jboss.org/hibernate/validator/4.2/reference/zh-CN/html_single/ --hibernate validate htt ...