命令

说明

光标移动

 

h

l(小写L)

j

k

w

移动到下一个单词

b

移动到上一个单词

   

插入

 

i

在当前光标处进行编辑

I(大写i)

在行首插入

A

在行末插入

a

在光标后插入编辑

o

在当前行后插入一个新行

O

在当前行前插入一个新行

cw

替换从光标所在位置后到一个单词结尾的字符

   

退出

 

:q!

强制退出, 不保存

:q

退出

:wq!

强制保存并退出

:w <文件路径>

另存为

:saveas 文件路径

另存为

:x

保存并退出

:x

保存并退出

:wq

 
   

删除

 

x

删除光标所在的字符

X

删除光标所在前一个字符

Delete

同x

dd

删除整行 (也是剪切)

dw

删除一个单词(不适用中文)

d$或D

删除至行尾

d^

删除至行首

dG

删除到文档结尾处

d1G

删除至文档首部

   

其他

 

.

重复上一次命令

n<命令>

5x, 3dd 执行指定次数相同的命令

:set nu

显示行号

~

将光标所在字母变成大写或小写

   

光标快速跳转

 

nG

光标移动到第n行

gg

光标移动到第一行

G

光标移动到最后一行

   

w

下一个单词开头

e

下一个单词的结尾

b

前一个单词开头

ge

前一个单词结尾

0或^

到行头

$

到行尾

f<字母>

向后搜索<字母>并跳转到第一个匹配的位置

F<字母>

向前搜索<字母>并跳转到第一个匹配的位置

   

复制及粘贴文本

 

yy

复制有表所在整行 (3yy表示复制3行)

y^

复制至行首

y$

复制至行尾, 含光标所在处字符

yw

复制一个单词

y2w

复制两个单词

yG

复制至文本末

y1G

复制至文本开头

   

p(小写)

粘贴至光标后(下)

P(大写)

粘贴至光标前(上)

替换和撤销

 

r + <待替换字母>

 

R

连续替换, 直到按下Esc

   

快速缩进

 

>>

整行向右缩进

<<

整行向左回退

:set sw=4或者

:set shiftwidth = 8

设置缩进和回退的字符数

sw是shiftwidth的简写

:set sw?

查看缩进字符数

   

调整文本位置

 

:ce

本行内容居中

:ri

本行文本靠右

:le

本行内容靠左

   

查找

 

/<字符串>

向下查找

?<字符串>

向上查找

n

查找下一个

N

查找上一个

n和 N

继续查找命令

   

多文件编辑

 

vim 1.txt 2.txt

默认打开1.txt

:n

编辑下一个文件

:N

编辑上一个文件

:n! 和:N!

强制切换

:e 3.txt

打开新文件3.txt

:e#

返回前一个文件

:ls

列出以前编辑过的文档

:b 2.txt

直接进入文件(或编号)2.txt

:bd 2.txt

删除以前编辑过的列表中的文件项目(或编号)

:e! 4.txt

新打开文件4.txt, 放弃正在编辑的文件

:f

显示正在编辑的文件名

:f new.txt

改变正在编辑的文件名字为new.txt

   

恢复文件(断点或其他未保存文档)

 

vim -r

进入文档

:ewcover 1.txt

恢复

   

选取

 

v(小写)

字符选择, 移动光标, 再次按v取消选取

Shift+v

整行选取

Ctrl + v

矩形选取

d

删除选取区域

y

复制选取区域

   

视窗操作

 

:new

打开一个新的vim视窗

:new 1.txt

打开一个新的vim视窗, 命名为1.txt

:sp 1.txt

打开新的横向视窗来编辑1.txt

:vsp 2.txt

打开新的纵向视窗来编辑1.txt

ctrl+w s

将当前窗口分割成两个水平的窗口

ctrl+w v

将当前窗口分割成两个垂直的窗口

ctrl+w q

即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!

ctrl+w o

打开一个视窗并且隐藏之前的所有视窗

ctrl+w j

移至下面视窗

ctrl+w k

移至上面视窗

ctrl+w h

移至左边视窗

ctrl+w l

移至右边视窗

ctrl+w J

将当前视窗移至下面

ctrl+w K

将当前视窗移至上面

ctrl+w H

将当前视窗移至左边

ctrl+w L

将当前视窗移至右边

ctrl+w -

减小视窗的高度

ctrl+w +

增加视窗的高度

   

vim初级命令的更多相关文章

  1. Vim常用命令总结

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

  2. vim基础命令

    2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...

  3. vim常用命令(iOS)

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

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

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

  5. vim常用命令汇总

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

  6. [转]vim常用命令

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

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

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

  8. vim替换命令

    转载:http://blog.csdn.net/glorin/article/details/6317098 替換(substitute) :[range]s/pattern/string/[c,e, ...

  9. vim的命令集合

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并 ...

随机推荐

  1. java----IO和NIO的区别

    概念:NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.在Java API中提供了两套NIO ...

  2. 5.3 SpEL语法

    SqEL是一个可以独立于spring的表达式语言,即它可以用在XML中对语法进行简化 5.3 SpEL语法5.3.1 基本表达式一.字面量表达式: SpEL支持的字面量包括:字符串.数字类型(int. ...

  3. oracle和SQLserver数据库中select into 的区别

    在Oracle中是这样的 在SQLserver中是这样的

  4. hdu 1813(IDA*)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1813 思路:首先bfs预处理出‘0’到边界点最短距离,然后构造 h() 为所’0‘点逃离迷宫的最少步数 ...

  5. connect() failed (111: Connection refused) while connecting to upstream, cli

    php-fpm没有运行 执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可 netstat -ant | grep 9000 没有运行为空,有运行显示 tcp 0 0 12 ...

  6. openssl之EVP系列之8---EVP_Digest系列函数具体解释

    openssl之EVP系列之8---EVP_Digest系列函数具体解释     ---依据openssl doc/crypto/EVP_DigestInit.pod翻译和自己的理解写成     (作 ...

  7. THINKPHP5加载公共头部尾部模板方法

    之前在3.2中用 <include file="public/header" /> 后来发现在thinkphp5中应该这样写才行 {include file=" ...

  8. FragmentStatePagerAdapter写法

    为了节省资源,分批加载数据//适配器class TabLayoutViewPagerAdapter extends FragmentStatePagerAdapter { public TabLayo ...

  9. 【BZOJ5072】[Lydsy十月月赛]小A的树 树形DP

    [BZOJ5072][Lydsy十月月赛]小A的树 题解:考虑我们从一个联通块中替换掉一个点,导致黑点数量的变化最多为1.所以我们考虑维护对于所有的x,y的最大值和最小值是多少.如果询问的y在最大值和 ...

  10. Vue基础-渲染函数-父子组件-传递数据

    Vue 测试版本:Vue.js v2.5.13 做了个 demo,把父子组件的数据都绑定到 Vue 实例 app 上,注释中的 template 相对好理解些 <div id="app ...