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. python+selenium:浏览器webdriver操作(0)

    1.浏览器最大化 启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行. #coding=utf-8 from selenium import webdriver i ...

  2. vue项目中解决跨域问题axios和

    项目如果是用脚手架搭建的(vue cli)项目配置文件里有个proxyTable proxyTable是vue-cli搭建webpack脚手架中的一个微型代理服务器,配置如下 配置和安装axios 安 ...

  3. 6_14 Abbott的复仇(UVa816)<图的最短路BFS>

    1999次世界总决赛的比赛包括一个骰子迷宫问题.在这个问题被写的时候,法官们无法发现骰子迷宫概念的原始来源.不久之后的比赛,但是,罗伯特先生雅培,无数的迷宫和对作者的创造者主题,联系大赛评委,自称是骰 ...

  4. 计算几何-多边形内核判定-HPI-poj3335

    This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. 先解决一个问题, ...

  5. c/c++学习01

    c++指针初始赋值: //指针初始赋值 int* a = new int(3); //第二种赋值 int 初始值 = 100; int *b = &初始值; //由new分配的内存块通常使用过 ...

  6. 如何使用 idea提交svn代码

    链接:https://jingyan.baidu.com/article/b2c186c80d81b1c46ff6ff59.html

  7. 【C语言】将两个字符串连接起来

    #include<stdio.h> int main() { ] = "I "; ] = "am a student"; int i, j, n; ...

  8. Yii2 TimestampBehavior 用来自动给指定的属性填充当前时间戳

    要使用 TimestampBehavior,把下面的代码加到你的 ActiveRecord 类中: use yii\behaviors\TimestampBehavior; public functi ...

  9. wix中ServiceInstall与ServiceControl的关系

    上面那篇之后其实还踩了个坑,安装Windows服务确实是打包进去了,但死活不能安装成功,从提示和日志看正好是Windows服务处理的地方出现了异常.以为是服务启动失败,但是服务在服务管理里手动启动是没 ...

  10. Ubuntu18.04安装Vim-plug与YCM

    由于个人强迫症的原因,之前的ycm是通过vundle来管理的,这次想更新一下ycm发现问题太多,于是就重新装了个Ubuntu虚拟机,用vim-plug来进行管理ycm及其他插件. 首先要换一下Ubun ...