vim命令学习
文本编辑器vim
vim常用操作
vim是一个强大的全屏幕文本编辑器,是Linux上最常用的文本编辑器,它的作用是建立,编辑,显示文本文件。
vim没有菜单,只有命令。
输入a或i或o进入编辑命令,下方显示insert。按esc返回命令模式。
:wq保存退出
:q! 不保存退出。
下面通过表格的方式罗列处其命令的使用以及作用。
常用命令
命令 | 作用 |
---|---|
a | 光标所在字符后 |
A | 在光标所在行尾插入 |
i | 在光标所在字符的前插入 |
I | 在光标所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行,例如4G到第四行 |
:n | 到第n行 |
$ | 在一行里移至行尾 |
0 | 移至行首 |
删除命令
终于不用一个一个字符删了(dd删除当前行)!一脸辛酸泪啊
命令 | 作用 |
---|---|
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标所在行,ndd删除n行。 |
dG | 删除光标所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行,:12,:22然后按d就可以删除12到22行了 |
剪切复制命令
命令 | 作用 |
---|---|
yy | 复制当前行 |
nyy | 复制当前行一下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p,P | 粘贴在当前光标所在 |
替换和取消命令
命令 | 作用 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符按ESC结束 |
u | 取消上一步操作,就是ctrl+z的感觉 |
搜索和搜索替换命令
命令 | 作用 |
---|---|
/string | 搜索指定字符串,例如/db,搜索db,搜索忽略大小写:set ic |
n | 搜索指定字符串的下一个出现的位置 |
:%s/old/new/g | 全文替换指定字符串,例如:%s/db/db1/g |
:n1,n2s/old/new/g | 在一定范围内替换指定的字符串 |
:替换范围
%s 全文替换
:n 起始行
保存和退出
命令 | 作用 |
---|---|
:w | 保存修改 |
:w newfilename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键,保存修改退出 |
:q! | 不保存退出 |
:wq! | 保存修改并退出(root用户强制退出的情况) |
ll 查看文件
chmod u+x 修改权限
继续使用:wq!,强行保存。
使用技巧
:r 文件名,在vim打开指定文件 例如:r /etc/issue
:r !date 把命令的执行结果导入vim
定义快捷键
map 快捷键 触发命令
:map ^P I# ^是ctrl+v,p定义快捷键,I看上面的命令可以知道I表示在光标所在行行首插入#,ESC表示按下esc。 下次运行ctrl+p就可以了。也就是添加第一行注释
:map ^B 0x ctrl+b 设置为快捷键,0跳到行首,x删除光标下的第一个字符。 也就是删除第一行注释
连续行注释
:n1,n2s/^/#/g ^表示行首,#表示替换成#,g表示替换后不确认
:n1,n2s/^#//g 替换开头为#的字符为空,也就是删除开头为#的。
:n1,n2s/^////g 在/前加转移字符
:ab qq 1598828268@qq.com 在文件中敲击qq然后回车或者空格,就会输入后面的字符串。非常的方便。
vim命令学习的更多相关文章
- VIM学习一: VIM命令学习及插件介绍
一.光标移动及编辑命令(含查找替换) [打开关闭窗口] :e file或:open file 打开新文档 :q或者ctrl+w+q 关闭当前视图的窗口 :tab split ...
- vim 命令学习(高级篇)
[1]打开文件方式 (1)vim +n filename 作用:打开文件,并定位到第n行 例如:vim +103 2019-02-26-errorrepeat.txt 效果:打开2019-02-26- ...
- 系统自带vim命令学习教程
[环境] [干货分享] vim或者vi命令在很多linux环境中自带一款学习教程,其教程说明语言还是随系统变化. 输入vimtutor这个命令会打开一款学习神器. 打开之后显示如下,vimtutor一 ...
- vim 命令学习(基础篇)
[1]三种模式 vi的三种模式:命令模式.末行模式.编辑模式. 三种模式相互切换逻辑与命令图: 1.命令模式是vi的默认模式(即每打开一个文件时的初始模式). 2.命令模式切换至末行模式,末行模式切换 ...
- 学习vim命令:“:w !sudo tee %”
学习vim命令:“:w !sudo tee %” Original URL:http://www.haw-haw.org/node/1501 原文来自于commandlinefu 原文是这样解释这个命 ...
- 学习 Vim 命令总结
学习 Vim 命令总结 可以使用 vscode-vim 扩展,但是要注意一些ctrl+字母的快捷键会无效,必须去掉冲突的快捷键 esc 回到普通模式 i 普通模式进入插入模式 : 进入命令模式 :wa ...
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- Linux常用命令学习6---(vim的使用)
先说说我,我使用了这么久的vim,但是完全没有将vim的功能完全利用到,无非就是使用了编辑(i).保存(:w).退出(:q).等简单的编辑,命令,以及NerdTree这一个插件,所以在这里需要重新学习 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
随机推荐
- level3
伸冤下:老师的评论是有看到!看完我就去修改程序了,忘记回复请原谅!= = 前阵子都在修改功能和思路,但是由于一个细节的错误找不到,导致没有成品可以上传...求谅解. 细心真的很重要 = =!!! im ...
- 英语学习APP
第一部分 调研, 评测 下载并使用,描述最简单直观的个人第一次上手体验. 界面高大上,看起来很美观,是个不错的英语学习软件.我很喜欢. 2.按照<构建之法>13.1节描述的 bug 定义, ...
- 基于Ryu的服务器实现及相关请求访问处理
基于Ryu的服务器实现及相关请求访问处理 前言及问题描述 近期又遇到了一个非常棘手的问题,由于Ryu是通过Python语言开发的,通过Ryu的wsgi的方式建立服务器,无法解析PHP,通过多次方法解决 ...
- MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
感谢这篇博文的作者:http://blog.csdn.net/chenqiangdage/article/details/48136601 最近使用VS2015开发一个统一认证服务,想将API自己生成 ...
- BroadcastReceiver介绍
参考资料 : 基础总结篇之五:BroadcastReceiver应用详解 BroadcastReceiver用于接收广播信息,可以通过sendBroadcast等方法进行发送.sendBroadcas ...
- BCB将RichEdit光标移到最后一行
int linecount=RichEdit1->Lines->Count; RichEdit1-> SelStart=SendMessage(RichEdit1-> Hand ...
- SQLServer将一个表的数据导入到另一个表
1.假如A表存在 insert into A(a,b,c) (select a,b,c from B) 2.假如A表不存在 select a,b,c into A from B 3.假如需要跨数据库 ...
- Educational Codeforces Round 38 (Rated for Div. 2) C
C. Constructing Tests time limit per test 1 second memory limit per test 256 megabytes input standar ...
- Codeforces 817
A 你可以按如下方式移动 问能不能从给定的一个坐标走到另一个. [solution] 裸,奇偶性注意 #include<stdio.h> #include<stdlib.h> ...
- stm32 外设使用的配置步骤
@2018-5-10 使用外设的配置步骤 #1 打开时钟 > 打开外设时钟 > 打开相关GPIO时钟 > 打开DMA时钟 (若需要) #2 关联外设与GPIO > 复位关联 ...