Linux入门-2 VIM基础
启动与退出
vim只启动vimvim <filename>打开文件,如果不存在则新建
模式
- Normal:其他模式下按ESC可进入此模式
- Insert:Normal模式下输入i,I,a,A,o,O,r,R,输入命令时加前缀
i_ - Visual:Normal模式下输入":",输入命令时加前缀
i_
进入插入模式
| 命令 | 操作 |
|---|---|
| i | 在当前字符前插入 |
| I | 在当前行首插入 |
| a | 在当前字符后插入 |
| A | 在当前行末插入 |
| o | 在当前行下插入新行 |
| O | 在当前行上插入新行 |
命令
operator [number] motion
删除、复制、粘贴
| 命令 | 操作 |
|---|---|
| x | 向后删除一个字符(Delete) |
| X | 向前删除一个字符 |
| nx | 向后删除n个字符 |
| nX | 向前删除n个字符 |
| dd | 删除行 |
| ndd | 删除n行 |
| dG | 删除之后的所有行 |
| d1G | 删除之前的所有行 |
| yy | 复制当前行 |
| nyy | 复制n行 |
| yG | 复制之后的所有行 |
| y1G | 复制之前的所有行 |
| p | 粘贴到下一行 |
| P | 粘贴到上一行 |
| u | 撤销上一个操作 |
| U | 撤销当前行的改动 |
| Ctrl+r | 恢复改动(撤销撤销) |
光标控制
| 命令 | 操作 |
|---|---|
| 方向键或kjhl | 移动一个字符或一行 |
| w | 到下一个词的开头 |
| e | 到下一个词的结尾 |
| b | 到上一个词,可以加n |
| Home或0或Shift+6 | 到行首 |
| End或Shift+4 | 到行尾 |
| nG(n是数字) | 到该文本的第n行 |
| G | 到文本的最末行 |
| gg | 到该文本的首行 |
| H | 到当前屏幕的最顶行 |
| M | 到当前屏幕的中央那一行 |
| L | 到当前屏幕的最底行 |
| n回车(n是数字) | 向下移动n行 |
| n空格(n是数字) | 向右移动n个字符 |
| Ctrl+f或PageUp | 向前翻页 |
| Ctrl+b或PageDown | 向后翻页 |
| Ctrl+d | 屏幕向前移动半页 |
| Ctrl+u | 屏幕向后移动半页 |
| m[a-z | A-Z] |
| '[a-z | A-Z] |
查找与替换
| 命令 | 操作 |
|---|---|
| /word | 向后查找,按n继续搜后一个,Shift+n向前 |
| ?word | 向前查找,按n继续搜前一个,Shift+n向后 |
| % | 查找括号的配对 |
| r | 替换当前字符 |
| :s/old/new/g | 替换old为new,g表示global |
| :n1,n2s/word1/word2/g | 将n1-n2行间的word1替换为word2,也可以用”#”代替”/” |
| :1,\(s/word1/word2/g|将第一行到最末行的word1替换为word2 :%s/old/new/g|全文替换 :1,\)s/word1/word2/gc | 在替换前需要用户确认 |
EX模式
| 命令 | 操作 |
|---|---|
| :w [filename] | 保存 |
| :q | 退出 |
| :q! | 强制退出,不保存 |
| :x | 保存并退出,==wq |
| :set number | 显式行号 |
| :set nonumber | 不显示行号 |
| :!系统命令 | 执行系统命令并显示结果 |
| :sh | 切换到命令行,使用ctrl+d返回vim |
Linux入门-2 VIM基础的更多相关文章
- Linux 入门教程:基础操作 01
1.1 实验内容 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 查看帮助文档 终端的概念 通常我们在使用 Linux ...
- Linux入门篇(四)——Vim的使用与Bash
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门基础篇
Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...
- Linux入门基础之一
Linux 入门基础 一.Linux 系统安装 安装方法网上很多,请自行百度 二.Linux 基本操作 2.1.GNOME图形界面基本操作 操作类似于Windows系统操作 打开每一个文件夹都会打开一 ...
- linux入门系列4--vi/vim编辑器
上一篇文章"linux入门系列3--linux远程登陆工具"讲解了如何使用常用的工具远程连接和管理linux服务器,要管理服务器必然会涉及到脚本文件的创建.编辑工作,因此在介绍命令 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...
- Linux入门基础教程之Linux下软件安装
Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...
- linux入门基础——linux软件管理RPM
由于linux入门基础是基于CentOS解说的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RP ...
- Linux Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
随机推荐
- Rabbitmq的五种模式和案例
消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除 (缺点:消息可能没有被消费者正确处理,已经消失了,无法恢复) 应用场景:聊天室 1.引入依赖 &l ...
- 008-PageBean类模板
1 PageBean模板一 package ${enclosing_package}; import java.util.ArrayList; import java.util.List; publi ...
- TOJ 1836 Play on Words
描述 Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has t ...
- c# Time类
直接上代码 public KBehaviour() { //间隔时间 System.Timers.Timer t = ); t.Elapsed += new System.Timers.Elapsed ...
- 游戏场景下的DDoS风险分析及防护
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云资深架构师 vince 本篇文章主要是分享游戏业务面临的安全风险场景,以及基于这些场景的特点,我们应该如何做好对应的防护. ...
- [转]Using MVC 6 And AngularJS 2 With .NET Core
本文转自:http://www.c-sharpcorner.com/article/using-mvc-6-and-angularjs-2-with-net-core/ CoreMVCAngular2 ...
- Linux 上安装Docker 并部署netcor2.1
述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享 ...
- SSIS教程:创建简单的ETL包
SSIS: Microsoft SQL Server Integration Services.是一个可用于生成高性能数据集成解决方案的平台,其中包括数据仓库的提取(Extract).转换(Trans ...
- 纯手写实现HashMap
1.hashmap的实现 ① 初始化 1)定义一个Node<K, V>的数组来存放元素,但不立即初始化,在使用的时候再加载 2)定义数组初始大小为16 3)定义负载因子,默认为0.75, ...
- JAVA中LinkedLockingQueue的简单使用
1.相关知识的了解 阻塞队列:当队列为空时,去队列中取数据会被阻塞.当队列满时,往队列中放数据会被阻塞. 非阻塞队列:当队列为空时,去队列取数据会直接返回失败,队列满时,往队列中放数据会直接返回失 ...