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. HideTcpip.c

    隐藏tcp端口,来自看雪 /////////////////////////////////////////////////////////////////////////////////////// ...

  2. 1.Spring项目启动时,加载相关初始化配置

    Spring项目启动时,会加载一些常用的配置: 1.加载spring上下文 SpringApplicationContextUtils.initApplicationContext(event.get ...

  3. React 克隆组件 -- React.cloneElement(可以用来修改子组件属性值,复制子组件,添加子组件)

    项目要求实现按钮级权限,简单来说就是需要通过后台数据绑定来控制前端页面哪些操作按钮需要渲染,哪些操作按钮不需要渲染, 大体的方案是: 在原有的按钮标签外再套一层按钮权限控制标签,然后每个具体的按钮对照 ...

  4. ubuntu 16.04 server 扩容(LVM)磁盘

    因为发现我的本地server出现磁盘满了的情况 所以进行lvm的扩容 1 查看磁盘情况 df -h 原本发现 /dev/mapper/ubuntu1604--vg-root 这个磁盘满了 所以要进行扩 ...

  5. 【VS开发】【电子电路技术】VPX技术介绍

    VPX技术介绍 杨跃江 2009-12-18 杨跃江 13902479857 中科祥云(深圳)信息产业有限公司 1VPX 技术 新型VPX(VITA 46)标准是自从VME引入后的25年来,对于VME ...

  6. shell作业01

    1.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.” ...

  7. kafka服务器批量copy文件脚本

    #!/bin/bashif [[ $# -lt 1 ]] ; then echo no params ; exit ; fiparams=$@for (( i=1 ; i <= 3 ; i = ...

  8. Palindromic Substrings

    Given a string, your task is to count how many palindromic substrings in this string. The substrings ...

  9. Linu下安装与卸载MySQL数据库

    卸载MySQL数据库,具体操作如下: (1)rpm -qa | grep -i mysql // 检查是否安装了MySQL的组件 (2)卸载前先关闭MySQL服务, a. b. (3)删除MySQL各 ...

  10. failed to push some refs to 'git@github.com:cq1415583094/MyBatis.git'解决办法

    将本地git仓库代码提交到GitHub上时,出现failed to push some refs to 'git@github.com:cq1415583094/MyBatis.git', 导致的原因 ...