vim 基本操作


0. 基本操作

:w          // 保存当前文件
:q // 退出vim
:wq // 保存退出
:w! // 强制保存当前文件
:q! // 强制退出(可以忽略修改)
:!cmd // 执行shell命令cmd
:n1,n2 w!cmd // 将文件中第n1行至n2行的内容作为cmd输入并执行, 若不指定n1,n2, 则表示将整个文件内容作为cmd的输入 i // 在光标前进入插入模式
I // 在当前行行首进入插入模式
a // 在光标后进入插入模式
A // 在当前行行尾进入插入模式
o // 在当前行的下一行新开一行进入插入模式
O // 在当前行的上一行新开一行进入插入模式
r // 替换光标下的字符进入插入模式
s // 删除光标下字符并进入插入模式
S // 删除当前行并进入插入模式

1. 移动光标命令

nh           // 向左移n个字符
nl // 向右移n个字符
nk // 向上移n行
+j // 向下移n行
// 不加n默认n为1 space // 右移一个字符
backspace // 左移一个字符 ctrl + e // 向上滚动一行
ctrl + y // 向下滚动一行 nw(W) // 向右移动n个单词至词首
nb(B) // 向左移动n个单词至词首
ne(E) // 向右移动n个单词至词尾
// 小写: 符号分隔的为一个单词
// 大写: 空格分隔的为一个单词
// 不加n默认n为1
// # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ) // 移动至句尾
( // 移动至句首
{ // 移动至段落开头
} // 移动至段落结尾 gg // 移动至文件第一行
G // 移动至文件最后一行
nG // 移动至第n行
n+ // 向下移n行
n- // 向上移n行 H // 移至屏幕顶行
M // 移至屏幕中间行
L // 移至屏幕底行 // 移至当前行首
$ // 移至当前行尾
^ // 移至当前行第一个非空白字符 ctrl + f // 向下翻一页
ctrl + b // 向上翻一页
ctrl + d // 向下翻半页
ctrl + u // 向上翻半页 nzt // 将第n行移至屏幕顶部
nzz // 将第n行移至屏幕中间
nzb // 将第n行移至屏幕底部
// 不指定n时, 默认移动当前行
// # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

2. 搜索命令

/pattern            // 从光标处向下搜索pattern
?pattern // 从光标处向上搜索pattern
n // 在同方向重复上一次搜索命令
N // 在反方向重复上一次搜索命令 fc // 在光标位置向右搜索字符c
Fc // 在光标位置向左搜索字符c
; // 同方向重复上次搜索字符命令

3. 替换命令

:s/p1/p2/g          // 将当前行中所有p1均用p2替换
:n1,n2s/p1/p2/g // 将第n1行至第n2行中所有p1均用p2替换
:g/p1/s//p2/g // 将文件中所有p1均用p2替换
// 不加g时, 只替换匹配到行的第一个匹配项

4. 拷贝/删除

nyy         // 从当前行开始向下复制n行
ndd // 将当前行及其以下共n行内容删除, 并将删除内容放到1号删除寄存器中.
p // 粘贴(从光标位置) // 不加n表示复制(删除)一行(单词) // d(删除),y(复制)可以与移动命令组合使用
// 例如 ynw 复制光标位置向右n个单词. ynj 复制当前行至向下n行. dnk 删除当前行至向上n行 :n1,n2 co n3 // 将第n1行至第n2行的内容拷贝到第n3行下面
:n1,n2 m n3 // 将第n1行至第n2行的内容移动到第n3行下面
:n1,n2 d // 将第n1行至第n2行的内容删除

5. 参考

1. https://www.isplaying.cn/jiaocheng/vim-command-1.html

 

vim 常用基本的更多相关文章

  1. Vim 常用技巧:

    Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...

  2. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  3. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  4. VIM常用操作总结

    VIM常用的模式网上说法不太一样,但是大同小异,这里大致分一下,便于后面总结 1.一般模式 默认打开文件后的模式,这个时候只能移动光标,不能编辑 2.输入模式 一般模式按下i,就可以进入输入模式,输入 ...

  5. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  6. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  7. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  8. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  9. Linux常用命令及vim的使用、vim常用插件(推荐)

    看了3篇文章,很好 vim中的区域拷贝 剪切,粘贴: 正常模式,移动光标到剪切的区域开始处,按v,进入可视模式,然后选择区域.按x键,剪切.到指定位置按p粘贴. 撤销按u 恢复按ctrl-r  简明 ...

  10. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

随机推荐

  1. 利用Python构建时间序列模型解决实际问题的正确姿势

    要本着应用到实际工作中目的去学时间序列分析,才能深入浅出的学会,不要纠结于理论,只听我的,我有信心说明白. 本章内容 趋势分析 序列分解 序列预测 序列分解 统计学基础铺垫 划分 时间序列按照季节性划 ...

  2. python3版 爬虫了解

    摘要:本文将使用Python3.4爬网页.爬图片.自动登录.并对HTTP协议做了一个简单的介绍.在进行爬虫之前,先简单来进行一个HTTP协议的讲解,这样下面再来进行爬虫就是理解更加清楚. 一.HTTP ...

  3. Cannot find ./catalina.sh The file is absent or does not have execute permission This file is nee Linux上tomcat无法正常启动

    上传了个tomcat7的压缩包上linux服务器,解压后,想直接启动,发现报错: Cannot find ./catalina.sh The file is absent or does not ha ...

  4. LeetCode109----链表转为二叉搜索树

    给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例:给定的有序链表: [-10, ...

  5. Linux孤儿进程与僵尸进程

    1. 基本概念: 孤儿进程:父进程退出,但是其子进程仍然在运行,那么这些子进程被称为孤儿进程:孤儿进程会被init进程收养,并作善后处理: 僵尸进程:一个已经终止,但是其父进程尚未对齐进行善后处理的进 ...

  6. POJ 2109 -- Power of Cryptography

    Power of Cryptography Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26622   Accepted: ...

  7. Android操作外置SD卡和U盘相关文章

    Android设备与外接U盘实现数据读取操作https://blog.csdn.net/true100/article/details/77775700 usbdisklibhttps://githu ...

  8. selenium 学习中遇到的问题汇总

    1.使用document.getByClassName时无click事件,然后就不知道怎么办了,也不太懂前端,与开发大哥确认,div 中class实现展开和收起是通过隐藏和显示这种方式实现的,在编写时 ...

  9. Jmeter性能测试工具的使用(Web性能测试)

    Jmeter性能测试工具的使用(Web性能测试) 1.下载 http://pan.baidu.com/s/1o7p18Ye 该软件不用安装,直接解压打开即可使用. 2.使用 这里就在win下进行,图形 ...

  10. [ML] Online learning

    复习 一.Spark 流处理 使用Spark Streaming与我们操作RDD的方式很接近,处理数据流也变得简单了.使用Spark的流处理元素结合MLlib的基于SGD的在线学习能力,可以创建实时的 ...