vim 三种模式:命令模式、插入模式、底线命令模式。

  切换模式:

  命令模式:

  启动 vim 进入命令模式:

  i  切换到插入模式,以输入字符。

  x   删除当前光标所在处的字符。

  :   切换到底线命令模式,以在最底一行输入命令。

  若想编辑文本:启动 vim,进入了命令模式,按下 “i”,切换到输入模式。

  输入模式:

  在命令模式下输入“i”即可进入输入模式。

  ENTER(回车键)          换行

  BACK SPACE(退格键)    删除光标前一个字符

方向键               在文本中移动光标

HOME/END                 移动光标到行首/行尾

Page Up/Page Down        上/下翻页

ESC                        退出输入模式,切换到命令模式

  

  底线命令模式:

  在命令模式下按下 :(英文冒号)就进入了底线命令模式。

  底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

  在底线命令模式中,基本的命令有(已经省略了冒号):

  q   退出程序

  w   保存文件

  按ESC键可随时退出底线命令模式。

  

  

vi/vim 使用实例

使用 vi 来建立名为 test.txt 的文件

vi test.txt

按下 ESC 按钮回到一般模式

在一般模式中按下 :wq 储存后离开 vi

vi/vim 按键说明(一般模式下)

h 或 向左箭头键(←)      光标向左移动一个字符

j 或 向下箭头键(↓)       光标向下移动一个字符

k 或 向上箭头键(↑)      光标向上移动一个字符

l 或 向右箭头键(→)       光标向右移动一个字符

如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

Ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键

Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键

0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处

$ 或功能键[End] 移动到这一行的最后面字符处

G 移动到这个档案的最后一行

gg 移动到这个档案的第一行

n<Enter> n 为数字。光标向下移动 n 行

/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可

n       重复前一个搜寻的动作

N      『反向』进行前一个搜寻动作

:n1,n2s/word1/word2/g       n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

:n1,$s/word1/word2/g        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2

:n1,$s/word1/word2/gc       从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

x   向后删除一个字符

X   向前删除一个字符

dd      删除游标所在的那一整行

ndd     n 为数字。删除光标所在的向下 n 行(包括游标所在的那一行)

yy      复制游标所在的那一行

nyy     n 为数字。复制光标所在的向下 n 行

p       为将已复制的数据在光标下一行贴上

P       为将已复制的数据在光标上一行贴上

u             复原前一个动作(撤销)

Ctrl + r    重做上一个动作

.            重复前一个动作

  一般模式切换到编辑模式

i   从目前光标所在处插入

I   在目前所在行的第一个非空格符处开始插入

a   从目前光标所在的下一个字符处开始插入

A   从光标所在行的最后一个字符处开始插入

o   在目前光标所在的下一行处插入新的一行

O   在目前光标所在处的上一行插入新的一行

r   只会取代光标所在的那一个字符一次

R   会一直取代光标所在的文字,直到按下 ESC 为止

  一般模式切换到指令行模式

:w      将编辑的数据写入硬盘档案中

:w!     强制将编辑的数据写入硬盘档案中

:q      离开

:q!     为强制离开不储存档案

:wq     储存后离开

:wq!    强制储存后离开

:set nu       显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu     取消行号

  

Mac 下 vim 常用命令的更多相关文章

  1. Mac下 CMD常用命令

    1.常用命令 pwd     当前工作目录 cd(不加参数) 进root cd(folder)      进入文件夹 cd ..     上级目录 cd ~     返回root cd -     返 ...

  2. linux下vim常用命令 (更新中...)

    1.注释多行 1). 首先按esc进入命令行模式下,按下Ctrl + v,进入VISUAL BLOCK模式; 2). 在行首使用上下键选择需要注释的多行; 3). 按下键盘(大写)“I”键,进入插入模 ...

  3. mac 下 终端常用命令

    open . 打开当前路径下的文件夹 open (路径) 打开此路径下的文件夹 (路径:/Users/linger/Library/Application\ Support/Google/Chrome ...

  4. Mac下终端常用命令

    一.删除文件 1 打开终端应用程序 2 输入命令:sudo (空格) rm (空格)-r (空格)-f (空格)(注意-f后面还有空格),还要注意,全部小写. 3 把你要删的文件或者文件夹用mouse ...

  5. mac 下mysql常用命令

    是那种单独安装的mysql 启动: /usr/local/mysql/bin/mysql -u root -p

  6. 学习操作Mac OS 之 常用命令

    ~ 符号在 Mac 甚至所有基于 Unix 和 Linux 的系统中都是代表当前用户的用户目录,.代表当前目录 配置环境变量语句:  source ~/.bash_profile 查看host文件语句 ...

  7. Mac之vim普通命令使用

    Mac之vim普通命令使用 标签: vim命令 高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x ...

  8. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  9. Vim常用命令总结

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

随机推荐

  1. 搭建第一个scrapy项目的常见问题

    错误1:在执行 scrapy crawl spider名命令的时候 出现了ImportError:DLL load failed: %1不是有效的win32程序错误 这是因为pywin32的版本安装错 ...

  2. 第十九篇 vim编辑器的使用技巧

    vim编辑器 ~/.viminfo文件中存储了vim编辑器中常用的命令 vim编辑器共有3中模式:命令模式.末行模式和输入模式,三种模式的转换方式如下图所示: vim 文件名      # 编辑一个文 ...

  3. js实现Set

    class MySet { constructor(params) { if (typeof params[Symbol.iterator] !== 'function') { throw new T ...

  4. Mysql实现级联操作(级联更新、级联删除)(转)

    一.首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not ...

  5. winform datagridview 同步滚动

    //首先添加 Scroll事件//同步滚动 private void dgYY_Scroll(object sender, ScrollEventArgs e) { ) { dgFee.FirstDi ...

  6. jmeter 进行websocket数据帧过大导致code 1009

    Response message: Received: Close frame with status code 1009 and close reason 'No async message sup ...

  7. JS数组删除

    --------------let items=['a','1',0,2,100,null,NaN,undefined,]; -------------要求以上数据执行后输出['1',0,2,100] ...

  8. redis-start

    start CAP BASE: 基本可用 Basically Available 软状态 Soft state 最终一致 Eventually consistent Redis:REmote DIct ...

  9. 攻防世界 robots题

    来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...

  10. MySQL双机热备环境搭建

    一.    前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l  A服 ...