https://download.csdn.net/download/qccz123456/10567716

vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。

vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。

基本步骤:1. vim hello.c    2. 键入i    3. 编辑    4. 键入[ESC]    5. 键入:wq保存退出

命令模式:用于复制、粘贴、删除、插入、撤销、移动等命令

移动:  h、j、k、l--移动左、下、上、右光标(j比较像↓)

数字0--到本行行头                     $--到本行行尾

^--到本行第一个非空格字符     g_--带本行最后非空格字符

gg--到文件第一行                       G--到文件最后一行(注意是大写)

数字nG--到第n行(冒号:数字n--也可以到指定n行)

w--到下一个单词开头                 e--到下一个单词结尾

W--到下一个空格前                    E--到下一个空格后

%--匹配括号移动(包括()、[ ]、{ },需要先移动到某个括号上)

*/#--移动到与当前光标所在单词相匹配的下一个/上一个单词

插入:  i--在光标前插入文本                a--在光标后插入文本

o--在当前行后插入新行           O--在当前行前插入新行(大写)

删除:  x--删除当前光标所在字符

dd--删除当前光标所在行,删除的内容在剪切板中

[n]dd--删除当前光标所在行开始的n行

复制:  yy--复制当前光标所在行

[n]yy--n为数字,复制当前光标开始的n行

粘贴:  p--粘贴剪切板到光标所在行

搜索:  /name<enter>--查找光标之后的名为“name”的字符串,后按n,字符间跳转

撤销:  u--撤销(注意是小写)                       Ctrl+r--回退

替代:  r--替代当前光标处的字符                     cw--替代从光标处所在位置后到一个单词结尾的字符

:%s/foo/bar/g  将文中所有foo替换成bar

其他:gU--单词变大写gu--单词变小写

剪切==删除+粘贴

底行模式:

:w 保存(后跟文件名,可文件另存为)

:q 退出vi(系统会提示保存修改)

:q! 强行退出(对修改不做保存)

:wq 保存后退出

:set number 显示行号   :set nonumber 取消行号

:!<系统命令>     执行一个系统命令并显示结果,按<enter>返回

:!sh        切换到命令行,按Ctrl+d返回vim

:help <command>  显示vim相关命令帮助

:e <path/file>打开一个文件      :bn和:bp上下文件之间切换(:n到下一个文件)

更好更快更强

数字n<command>:重复command命令数字n次,3dd、2p

.(小数点):重复上一次命令

v:可视化操作(输入命令前先输入v)

块操作:Ctrl+v,移动光标选择对象,大写的 I,<command>,如#或//,esc两次,生效

自动缩进:Ctrl+v,移动光标选择行,=

左右缩进:Ctrl+v,移动光标选择行,</>

多行注释:Ctrl+v,选择多行,大写的 I,输入#,esc两次

多行取消注释:Ctrl+v,选择多行需要删除的部分,d

自动提示:Ctrl+n

设置tab缩进为4个空格:vim /home/hostname/.vimrc

set ts=4
set expand tab
set smart indent
set tabstop=4
set shiftwidth=4
set softtabstop=4

在vim内打开新的文件输入  :e  myFile.c

分屏显示:    上下分  :split    简写  :sp      左右分  :vsplit  简写  :vsp

Ctrl+ww——依次向后切换到下一个窗格中

vim简明教程--半小时从入门到精通的更多相关文章

  1. Vim简明教程【CoolShell】

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  2. Vim简明教程【CoolShell】(转)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  3. 转: vim简明教程

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  4. Vim 简明教程【转载】

    简明 Vim 练级攻略 第一级 – 存活 安装 vim 启动 vim 什么也别干!请先阅读 当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子.但vim不是这样的,请 ...

  5. Vim简明教程【CoolShell】(转)

    m的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progressiv ...

  6. vim 简明教程(转自飘过的小牛)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  7. vim简明教程

    在shell中新建一个文件 # vim a.txt vim有三种模式:一般模式.插入模式.底行模式 三种工作模式 1.命令模式 移动光标 hjkl yy 复制 nyy 从光标向下复制n行 0 移动光标 ...

  8. linux学习之——vim简明教程

    摘自  http://blog.csdn.net/niushuai666/article/details/7275406 ——————————正文开始—————————— 你想以最快的速度学习人类史上 ...

  9. vim简明教程(附快速记忆方法)

    vim分为四种模式: 普通模式(normal mode) 插入模式(insert mode) 可视模式(visual mode) 命令模式(excute mode) 下面整理了常用的快捷键和记忆方法( ...

随机推荐

  1. idea debug的drop frame,set watch和设置过滤条件

    idea debug中的drop frame就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法. 在调用栈方法上选择要回退的方法,右键选择Dr ...

  2. k8s开启cadvisor http 服务

    k8s开启cadvisor http 服务 cadvisor介绍: Google的 cAdvisor 是另一个知名的开源容器监控工具. 只需在宿主机上部署cAdvisor容器,用户就可通过Web界面或 ...

  3. Hibernate5 Guide

    (1) 创建Maven工程 可以使用Eclipse或IDEA创建 (2) 修改pom文件 <project xmlns="http://maven.apache.org/POM/4.0 ...

  4. 【转】HBASE Region in Transition issue on Master UI

    [From]https://community.hortonworks.com/content/supportkb/244808/hbase-region-in-transition-issue-on ...

  5. SQLServer 断开数据库连接

    数据库名:test1 1. 查询数据库当前连接 select * from master.sys.sysprocesses where dbid = db_id('test1') 2. 断开指定连接 ...

  6. 在使用DapperExtensions时遇到"其他信息: ConnectionString 属性尚未初始化。"错误

    今天在使用在使用DapperExtensions时遇到"其他信息: ConnectionString 属性尚未初始化."错误. //return conn.GetList<T ...

  7. Android开发 所需组件配置

    1 Unity中的Android Build Support下载 在Unity中的File>Building Settings>Android>Open Download Page, ...

  8. Django学习笔记(二)URL编写规则

    先在根目录以及每个app内添加一个空白的urls.py(此处根目录指项目同名文件夹内).程序收到用户请求时,先在根目录的urls.py查找该URL属于哪个app,再从app的urls.py找到具体的U ...

  9. mysql——插入、更新、删除数据(示例)

    插入数据 一.前提,新建表: ), sname ), sage ), ssex ) ); select * from student; 二.多种方式插入数据: ','zhaolei','1990-01 ...

  10. C#DataGridView格式化显示单元格的内容

    今天又发现了一个很有用的东西,DataGridView的CellFormating事件 经常从数据库查到的原始数据需要经过转换之后显示在客户端,比如性别,“1”显示“男”,“0”显示“女”,为此经常将 ...