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. Linux命令行学习日志-ps ax

    当我们需要查询某个运行中的进程的时候,这个命令就显得很有用了,可以查看当前进程的PID和状态(S代表睡眠,SW代表睡眠和等待,R表示运行中) ps ax //查看当前运行中的进程

  2. python定时任务-sched模块

    通过sched模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数. schedule = sched.scheduler( time.time,time.sleep) schedule是一 ...

  3. 死磕Java之聊聊HashMap源码(基于JDK1.8)

    死磕Java之聊聊HashMap源码(基于JDK1.8) http://cmsblogs.com/?p=4731 为什么面试要问hashmap 的原理

  4. 记一次antlr错误:ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.2ANTLR

    场景:重构spark 2.1版本的sql语法.因此 需要使用antlr: 前期准备:idea安装了antlr插件(antlr的4.7.2版本) 因此在maven工程中添加了antlr的依赖: < ...

  5. maven mvn 命令行 编译打包

    * 配置好jdk * 下载安装maven http://maven.apache.org/download.cgi apache-maven-3.3.3-bin.zip * 解压到G:\apache- ...

  6. Postgres copy命令导入导出数据

    最近有需要对数据进行迁移的需求,由于postgres性能的关系,单表3000W的数据量查询起来有一些慢,需要对大表进行切割,拆成若干个子表,涉及到原有数据要迁移到子表的需求.起初的想法是使用存储过程, ...

  7. Linux设备驱动程序 之 内核符号表

    insmod使用公共内核符号表来解析模块中未定义的符号.功能内核符号表中包含了所有全局内核项(函数和变量)的地址,这是实现模块化驱动程序所必须的.当模块装载到内核后,它所导出的任何符号都会变成内核符号 ...

  8. php中pack、unpack的详细用法

    详见: https://segmentfault.com/a/1190000008305573?utm_source=tag-newest

  9. 【软件工程】Beta版本演示

    团队信息 队名:女生都队 组长博客: 博客链接 成员 学号 史恩泽(组长) 031702122 施金海 031702121 阮君曦 031702116 陈银山 031702137 李季城 031702 ...

  10. R语言:as.Date出现NA值

    > head(as.Date(data$日期,'%y%M%D'))[1] NA NA NA NA NA NA data日期格式如下: 解决办法: > head(as.Date(data$日 ...