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. Cocos Creator中按钮组件数组的使用

    Cocos Creator游戏开发中经常使用到按钮,特别是大量按钮的情况,此时使用数组来管理这些按钮就显得更具通用性.我大致走了一下官方的示例,好像没有发现有这个小内容(或者有,但我却是没有找到),于 ...

  2. bzoj4152

    The Captain HYSBZ - 4152 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用. Input ...

  3. 第三章 python数据规整化

    本章概要 1.去重 2.缺失值处理 3.清洗字符型数据的空格 4.字段抽取 去重 把数据结构中,行相同的数据只保留一行 函数语法: drop_duplicates() #导入pandas包中的read ...

  4. [mysql]忘记用户密码或者误删用户账号

    修改你的my.ini或my.cnf文件,在 [mysqld] 节下加入下面一行 skip-grant-tables 然后保存并重启 MySQL 服务. /etc/init.d/mysql restar ...

  5. Tomcat7修改根路径应用

    大家想必遇到过这样的问题,同台机器上跑上多个tomcat 那么随之更改文件的工作量就会增加 今天突然想到把所有的tomcat的根目录更改成一个文件 但是有不好的就的地方就是在更改文件的时候需要把这台机 ...

  6. 5.rabbitmq--通配符模式Topics

    rabbitmq--通配符模式Topics topic模式也称为主题模式,其实他相对于routing模式最大的好处就是他多了一种匹配模式的路由,怎么理解匹配呢,其实就相当于我们之前正则的.*这种,不过 ...

  7. node.js获取ip及mac

    ; (function (win) { var os = require('os'); var ifaces = os.networkInterfaces(); function NetworkUti ...

  8. Spring动态切换数据源及事务

    前段时间花了几天来解决公司框架ssm上事务问题.如果不动态切换数据源话,直接使用spring的事务配置,是完全没有问题的.由于框架用于各个项目的快速搭建,少去配置各个数据源配置xml文件等.采用了动态 ...

  9. spark 常用函数介绍(python)

    以下是个人理解,一切以官网文档为准. http://spark.apache.org/docs/latest/api/python/pyspark.html 在开始之前,我先介绍一下,RDD是什么? ...

  10. mongodb的更新操作符

    mongodb更新有两个命令:1).update()命令 db.collection.update( criteria, objNew, upsert, multi ) criteria : upda ...