当前位置: 首页 > 编程日记 > 正文

vim使用说明

模式

命令

操作

开始

vim 文件路径

打开|新建文件

命令模式

i

切换到输入模式

x

删除当前光标所在处的字符

:

切换到底线命令模式

shift+zz

保存并退出

移动光标的方法

h|←

j|↓

k|↑

l|→

[Ctrl] + [f]

=输入模式下的page down

[Ctrl] + [b]

=输入模式下的page on

[Ctrl] + [d]

屏幕『向下』移动半页

[Ctrl] + [u]

屏幕『向上』移动半页

+

光标移动到非空格符的下一行

-

光标移动到非空格符的上一行

n空格

光标会向右移动这一行的 n 个字符

0|Home

移动到行首

$|end

移动到行尾

H|M|L

光标移动到这个屏幕的最上|中央|下方方那一行的第一个字符

G

移动到这个档案的最后一行(常用)

nG

移动到这个档案的第 n 行

gg

移动到这个档案的第一行,相当于 1G

n回车

光标向下移动 n 行(常用)

搜索替换

/word|?word

向光标之下|上寻找一个名称为 word 的字符串

n

代表重复前一个搜寻的动作

N

为『反向』进行前一个搜寻动作

:n1,n2s/word1/word2/g

n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:

『:100,200s/vbird/VBIRD/g』。

:1,$s/word1/word2/g

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

:1,$s/word1/word2/gc

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

删除、复制、粘贴

x|X

向后删除|向前删除

nx

向后删除n个字符

dd

删除游标所在一行

ndd

删除光标所在的向下 n 行

d1G

删除光标所在到第一行的所有数据

dG

删除光标所在到最后一行的所有数据

d$

删除游标所在处,到该行的最后一个字符

d0

删除游标所在处,到该行的最前面一个字符

yy

复制游标所在的那一行(常用)

nyy

复制光标所在的向下 n 行

y1G

复制游标所在行到第一行的所有数据

yG

复制游标所在行到最后一行的所有数据

y0

复制光标所在的那个字符到该行行首的所有数据

y$

复制光标所在的那个字符到该行行尾的所有数据

p|P

将已复制的数据在光标下|上一行贴上

J

将光标所在行与下一行的数据结合成同一行

c

重复删除多个数据,例如向下删除 10 行,[ 10cj ]

u

复原前一个动作。(常用)

[Ctrl]+r

重做上一个动作。(常用)

.

小数点:意思是重复前一个动作的意思

输入模式

字符按键以及shift组合

输入字符

Enter

回车|换行

Back space

退格键,删除光标前一个字符

Del

删除键,删除光标后一个字符

方向键

移动光标

Home|end

移动到行首|行尾

Page Up/Page Down

上|下翻页

Insert

切换光标为输入/替换模式,光标将变成竖线/下划线

ESC

退出输入模式,切换到命令模式

底线模式

q

退出

w

保存文件

w!

若文件属性为『只读』时,强制写入该档案(具体情况看权限)

X=wq

保存并退出

q!

不保存退出

!

强制退出(会有提示)

w [filename]

将编辑的数据储存成另一个档案(类似另存新档)

r [filename]

在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面

n1,n2 w [filename]

将 n1 到 n2 的内容储存成 filename 这个档案

! command

??

暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

/内容/

查找内容,N上一个;n下一个

s/con1/con2/

替换光标所在第一个con1

s/con1/con2/g

替换光标所在行所有con1

%s/con1/con2/

替换整个文档所有con1

:n

跳转到第n行

set nu

显示行号

set nonu

不显示行号

查看文件内容        cat 文件路径

转载于:https://www.cnblogs.com/jingmei0709/p/9947622.html

相关文章:

g++编译c++11特性 的.cc文件

写一个.cc文件,其中抱哈std::lock_guard以及std::thread等c11特性,开始使用gcc编译,过程中出现如下问题 gcc test_lock.cc -o test_lock This file requires compiler and library support for the ISO C 2011 standard. This support is currently ex…

联想r720内存频率_联想 IdeaPad14s 2020 轻薄本双十一促销

IT之家11月10日消息 作为一款主打轻薄的笔记本电脑,联想 IdeaPad14s 2020 自推出以来便受到不少办公学习用户的青睐。如今,这款联想 IdeaPad14s 2020 轻薄笔记本已开启双十一促销,搭载第十代酷睿处理器,采用 14 英寸双侧窄边框屏幕…

HDU 1273 漫步森林

比赛的时候是看见人家A得很快,但是一看的时候觉得没什么头绪,画了一个六边形的灵感来了,就YY一下 第一次提交写错了结束条件,之后意淫下公式交上去A了。 用五边形来解释: 1.设有五个点1,2,3,4,5, 2.从1开始…

在请求完成后回调delegate的方法。然而回调时经常遇到这种情况:delegate已经被释放...

最近的项目遇到了网络请求,需要在请求完成后回调delegate的方法。然而回调时经常遇到这种情况:delegate已经被释放,这时调用其方法则会引起crash。 objc的runtime中有两种判断类型的方式比较靠谱,他们可以直接取得任意一个objc_ob…

C++ 学习笔记之——文件操作和文件流

1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件。而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件。 ASCII 文件,又称字符文件或者文本文件,它的每一个字节放一个 ASCII 代…

利用blktrace分析磁盘I/O

原文:https://blog.csdn.net/ygtlovezf/article/details/80528300 blktrace对于分析block I/O是个非常好的工具,本篇文章记录了如何使用blktrace。 blktrace原理 blktrace是对通用块层(block layer)的I/O跟踪机制,它…

shiro 同时实现url和按钮的拦截_一个“保存”按钮同时存在“增删改”三种操作,该如何去实现?...

一般情况下,对表格中的数据进行“增删改”操作,都是直接操作数据库。现在有些项目因为设计或者优化的缘故,不对表格中的数据进行“增删改”,而是通过最后“保存”按钮的操作,一次性将数据传至服务器,由服务…

在网络通讯中,如何自己分配可用的端口号和获取自己的ip地址

在编写一些程序时,为了程序可以在其他电脑上也可以使用,而不用手动去更改ip,或者碰到端口不可用的情况。在这里找到了一个好的方法,实际使用也没有问题!故此推荐给大家! 方案: 在构建网络时,使用&#xff1…

【翻译】ASP.NET WEB API异常处理

当一个web api抛出一个异常后 此异常会被转化成一个HTTP响应 错误代码为500的服务错误 但是如果你不想让客户端看到500的错误码 你也可以自定义错误码 如下代码当用户输入的ID没有与之相关的数据 则返回了错误码为404的错误 (页面未找到) public Product…

hook NtTerminateProcess进行应用的保护

这段时间在学习驱动,然后看到hook ssdt的代码,找了一个写的清晰的学习了一下:http://www.netfairy.net/?post218 这里是hook NtOpenProcess,但是想自己练手所以hook NtTerminateProcess,经过多次蓝屏后,然…

linux系统 长久记录所有用户所有操作记录

在linux系统中想要记录所有登录过当前系统的用户操作,排查有人对当前系统做的何种操作导致系统问题,可以按照如下方法进行。 前言 在描述操作步骤之前,先说一下系统环境变量的相关配置文件 ~/.bashrc和~/.bash_file,这两个文件…

jquery图片播放切换插件

点击这里查看效果可自定义数字样式和左右点击按钮这个更好&#xff1a;移入按钮切换版本更多图片轮播以下是HTML文件代码&#xff1a; 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transiti…

安卓饼状图设置软件_话单及银行卡交易智能分析软件

一、产品概况&#xff1a; 思迈奥SMILE数据智能分析软件是由我司自主设计与研发的一款结合在公安和检察院的侦查业务经验而定制研发的数据智能分析系统&#xff0c;包含于话单、电子银行账单、及其它数据(个人出行数据、社会资源数据、微信数据及其它聊天数据)等的数据导入、检…

跨区域MPLS TE

拓扑&#xff1a; R1配置&#xff1a; mpls label range 100 199 mpls traffic-eng tunnels interface Loopback0 ip address 192.168.1.1 255.255.255.255 ! interface Tunnel1 ip unnumbered Loopback0 tunnel mode mpls traffic-eng tunnel destination 192.168.1.4 tunnel …

C++智能指针: shared_ptr 实现详解

文章目录shared_ptr描述声明作用原理实现函数使用关于shared_ptr循环引用问题shared_ptr描述 声明 shared_ptr属于C11特性中新加的一种智能指针&#xff0c;它的实现方式是模版类&#xff0c;头文件<memory> template <class T> class shared_ptr 所以使用shared…

linux文本处理常用命令

linux文本处理常用命令 linux文本处理命令&#xff1a;grep、sed、printf、awk 1.grep grep的作用是按行查找字符&#xff0c;输出包含字符的行。 #从文件查询 grep hello filename.txt #从管道的输入查询 cat filename.txt|grep hello grep使用示例&#xff1a; grep的查找主要…

arduino 控制无刷电机_智能控制轮椅来了,残疾人的福音!

传统的轮椅已被证明是非常宝贵的工具&#xff0c;为残疾人提供了很多便利&#xff0c;但其只能限制坐在一个位置。外国的一个研究团队通过开发一个功能强大的多功能轮椅&#xff0c;使用户能够通过手机应用程序轻松地在各种各样的位置之间进行切换。(图片来自 IC photo)这是一种…

python科学计算整理

网站&#xff1a; http://bokeh.pydata.org/gallery.html 转载于:https://www.cnblogs.com/gogly/p/3453341.html

TP-link 841N 刷DD-WRT固件

2012年4月20号 今天&#xff0c;笔者逛“太平洋”的时候&#xff0c;发现了一个关于TP-Link 840N刷DD-WRT的帖子&#xff0c;进去逛了一会&#xff0c;突然记得自己家中的那个路由好像也是这个型号的&#xff0c;二话不说&#xff0c;果断收录这条资料&#xff0c;并把所需要的…

网格的铺设问题——骨牌

Problem Description 有一个大小是 2 x n 的网格&#xff0c;现在需要用2种规格的骨牌铺满&#xff0c;骨牌规格分别是 2 x 1 和 2 x 2&#xff0c;请计算一共有多少种铺设的方法。 Input 输入的第一行包含一个正整数T&#xff08;T<20&#xff09;&#xff0c;表示一共有 T…

C++智能指针:weak_ptr实现详解

文章目录weak_ptr描述声明作用原理实现函数成员使用总结weak_ptr描述 声明 头文件&#xff1a;<memory> 模版类&#xff1a;template <class T> class weak_ptr 声明方式&#xff1a;std::weak_ptr<type_id> statement 作用 根据boost库的官方描述&#…

在PHP中使用全局变量的几种方法

简介即使开发一个新的大型PHP程序&#xff0c;你也不可避免的要使用到全局数据&#xff0c;因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有&#xff1a;程序设定类、数据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据&#xff0c;其中最常…

python处在哪个阶段_python 基础复习

1、简述cpu、内存、硬盘的作用cpu(1)cpu&#xff1a;处理逻辑运算、算术运算(2)cpu&#xff1a;接受指令传给电脑硬件&#xff0c;让其运行内存&#xff1a;(1)内存&#xff1a;从硬盘中读取数据&#xff0c;供其cpu调取指令运行&#xff0c;短暂的存贮数据&#xff1b;运行速度…

android用户界面之WebView教程实例汇总

一、WebView教程1.Android---UI篇---WebView&#xff08;网络视图&#xff09;http://www.apkbus.com/android-14259-1-1.html2.webview学习记录http://www.apkbus.com/android-44567-1-1.html3.Android中使用WebView, WebChromeClient和WebViewClient加载网页http://www.apkbu…

java下输出中文的一点研究

网上或者大部分书上都说Java中输出中文使用FileReader类就可以了&#xff0c;但是当你读取一个中文文档时&#xff0c;你会发现&#xff0c;除了乱码&#xff0c;还是乱码。究其原因&#xff0c;这其实是文件流读取时使用的编码方式和文件本身编码方式不同,造成读取出来文件乱码…

C++智能指针:unique_ptr详解

文章目录unique_ptr描述声明作用函数指针描述总结unique_ptr描述 声明 头文件&#xff1a;<memory> 模版类&#xff1a; 默认类型template <class T, class D default_delete<T>> class unique_ptr数组类型template <class T, class D> class uniq…

川崎机器人示教盒维修_专业维修丹阳市KUKA库卡KRC2库卡C4主板维修{苏州罗韦维修}...

发那科机器人故障分析 发那科伺服放大器上LED指示灯故障维修大全_发那科机器人维修&#xff0c;FANUC机器人保养&#xff0c;伺服电机示教器减速器维修&#xff0c;驱动器维修&#xff0c;苏州发那科机器人维修&#xff0c;本文主要介绍了发那科伺服放大器上因故障而出现的各种…

js 文本反向排列显示

一次面试遇到这样的题目 反向输出“how are you” 解决方法 <script language"JavaScript">var message1"how are you";var message2"";for (countmessage1.length; count > 0; count--)message2message1.substring(count,count-1);doc…

2012年12月4期手机网页开发

最近主要做手机上页面的开发&#xff0c;主要框架是&#xff0c;手机安装客户端&#xff0c;加载主站手机应用页面&#xff0c;手机客户端配合主站功能实现本地扫描或重力感应的效果。 针对安卓系统&#xff0c;在开发和调试时发现如下问题&#xff1a;1路径错误&#…

zabbix4.0构建实录

【Nginx】 #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo [rootcentos ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel[rootcentos ~]# useradd -s /sbin/nologin nginx [rootzabbix-server ~]# yum install -y nginx 【M…