`
wx1569466809
  • 浏览: 72221 次
文章分类
社区版块
存档分类
最新评论

Linux编辑器——vim

 
阅读更多

vim的设置

vim的配置文件:/etc/vimrc

  • 编辑/etc/vimrc 用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入:
:set noai nosi

然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。有时候,这样的方法不好用,可以尝试这种:

:set paste

 

“:wq”和“:x”的区别

  • “:wq”强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。
  • “:x”写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。
  • 区别:
      这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq" 强制更新文件的修改时间,这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。

文件加密

Linux用vim或vi给文件加密。

加密

eg:

  • 建立一个实验文件test.txt
  • 进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车;
  • 这时系统提示让你输入密码2次(即设定密码),如下所示:
    输入密码: *******
    请再输入一次: *******
  • 设定密码后便保存退出,此时文件已加密
  • 用cat或more查看文件内容,显示为乱码;用vim或vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码!

注意: 文件加密后,千万别忘了密码!

解密

方法1:

  • 用vim或vi打开文件如test.txt,要输入正确的密码,然后在编辑时,将密码设置为空,方法如下:
    :set key=
    然后直接回车,保存文件后,文件已经解密了。

方法2:

  • 在正确打开文件后用“:X”指令,然后给一个空密码也可以。保存用“wq!”保存。

vim中常用的几个快捷键

  • 注释所有的行:ctrl+v j/k+ shift +i
  • 查看光标当前的man手册 shift+k
  • d+f+字符
  • 选中面积 v+t+字符
  • 在vim里面删除光标后的所有字符 shift+d
  • 删除当前光标上的单词 d+i+w
  • 选中当前光标上的单词 v+i+w

vim中的一些命令

替换模式

在一般模式下按键盘上的r和R进入替换模式。如果按小r那么这时候就进入了替换模式,你下一个输入的字符会把你当前光标所在处的字符替换,然后自动退出替换模式。如果你按的是大R那么你下面输入的所有字符会把后面的字符依次替换,直到按退出替换模式。

可视模式

在一般模式下按键盘上的v和V进入可视模式。如果是按小v那么这时候就时入了视图模式,这时候你移动光标会把你光标所在处到光标结尾处的所有字符选中,这时候可以进行复制,删除等操作。如果是按大V同样也是进入了视图模式,这时候移动光标会把光标所在行到光标结尾的行的所有内容选中,也可以进行复制,删除等操作。
注: 使用在一般模式使用“ctrl+v”组合键可以进入块操作模式,在这个模式下和可视模式差不多,但是选择的内容不同。

删除从光标所处到行尾的字符

在一般模式下输入大写“D”或者输入“d$”

删除从光标所处到行首的字符

在一般模式下输入大写“d^”

删除从光标所在行到文件末尾行

在一般模式下输入大写“dG”

删除指定范围内所有行

eg:删除10到15行的所有内容
在一般模式下输入“:10,15d”回车

把正在编辑的文件另存为新文件

eg:把正在编辑的文件另存为到“/root/”下面并保存为1.txt
在一般模式下输入“:w /root/1.txt”

eg:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下在一般模式下输入“:10,15 w /root/1.txt”

把其它文件的内容导入到正在编辑的文件的光标所在处

eg:把“/root/1.txt”文件的内容,导入到下在编辑的文件的第10行下面
首先在一般模式下按“10G”把光标定位到第10行,然后按“o”小写,当前行的下面另起一行,并进入插入模式,最后按键盘上的返回到一般模式,再输入“:r/root/1.txt”回车

正在编辑文件时,不退出文件仍可以运行linux命令

eg:我在编辑一个文件,但这时候我想查看“/root/1.txt” 文件的内容,但是我不想退出我正在编辑的文件,那么我们可以这样在编辑模式下输入“:! cat/root/1.txt”

把命令的执行结果导入到正在编辑的文件的光标所在处

这题我们可以结合上面两题,在一般模式下输入“:r ! cat /root/1.txt”

查找替换的功能使用

eg:在10到15行的行首增加“#”
在一般模式下输入“:10,15s/^/#/”
eg:在10到15行的行首去掉“#”
在一般模式下输入“:10,15s/^#//”
eg:在10到15行的行首增加“//”
在一般模式下输入“:10,15s/^////”或者“:10,15s@^@//@”或者“:10,15s#^#//#”

注意: 在上面所有命令的最后面都可以加g或者c一起配合使用,g的意思是行中出现的所有指定字符都替换,但是如果加了g那么前面就不能出现位置定义字符,反之前面出现的位置定义字符,那么后面就不可以出现g。在后面加c可以跟用户交互,在查找到符合命令的字符提示用户是否替换,需要用户确认,否则不需要确认

把输入的指定字符替换为指定的字符

eg:在编辑一个文档的时候,我要频繁的输入“abcdefghijklmnopqr”这样的连续字符串,这时候我想只输入一个或者一串指定字符就可以替换为刚才的字符,比如我指定输入“aming”系统就会自动把“aming”替换成“abcdefghijklmnopqr”

在一般模式下输入“:ab aming abcdefghijklmnopqr”然后回车,再进入编辑模式,当你输入“aming”的时候就会发现自动替换成了“abcdefghijklmnopqr”

快捷键的定义

eg:我想在一般模式下按键盘上的ctrl+b快捷键,会自动在光标所在行的行首插入“#”号,然后自动退出到一般模式。
在一般模式下输入“:map ctrl+v ctrl+b I # ”然后回车,这时候在一般模式按键盘上的ctrl+b的时候就会在光标所在的行首插入“#”号了
注: 命令中ctrl+v和ctrl+b是键盘上的组合键,不是输入进去的字符,是需要按的组合键,其中第一个ctrl+v就照按,第二个ctrl+b是要定义的快捷键,根据自己需要的设置按。然后“I”的意思就是一般模式下的“I”进入插入模式并将光标移动到行首,然后接着输入“#”号,后面“”的意思是退出编辑模式。

同时编辑两个文件

eg:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示。
在一般模式下输入“:new /root/2.txt”
eg:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示。
在一般模式下输入“:vsplit /root/2.txt”

注: 在一般模式下按“ctrl+w”组合键,再按左右,或者上下方向键,可以在不同窗口之间切换如果在一般模式下输入“:only”那么只保留当前正在编辑的窗口,其它全关闭。

在vim查找关键字时不区分大小写

在一般模式下输入“:set ic”
如果想取消就输入“:set noic”

把文件设置成只读文件

在一般模式下输入“:set readonly”

把文件恢复到打开时的状态

在一般模式下输入“:e!”

配置文件的使用

以上那么多操作,像设置忽略大小写,设定快捷键,设定自动替换,等一些操作,当电脑重启后就没有了。这时候我们可以把这些命令写入配置文件,这样电脑重启后还是可以使用,我们有两种方法:

  • 所有用户都统一
    修改“/etc/vimrc”文件,在末尾加入需要设置的命令,就是我红色标注的部分
  • 只对当前用户
    修改用户家目录下的“.vimrc”文件,注意有个点,这是隐藏文件,一般用户家下没有,需要自己手工创建

 

在一个文件中打开另一个文件

:sp filename 垂直分割窗口
:vert sp filename 水平分割窗口

Ctrl+w j/k 上下窗口间移动光标
Ctrl+w h/l 左右窗口间移动光标

转载于:https://my.oschina.net/1995blog/blog/1593397

分享到:
评论

相关推荐

    程序员的编辑器——VIM(zz) - 饮水思源

    - “程序员的编辑器——VIM”可能是对VIM的特定使用场景或者进阶技巧的讲解。 7. **自定义配置**: VIM允许用户在~/.vimrc文件中定制个人的配置,包括快捷键、颜色主题、自动完成等设置。 8. **学习曲线**: ...

    Linux实验——Vi编辑器.doc

    **Linux实验——Vi编辑器** 在Linux操作系统中,Vi(Visual Editor)编辑器是一个非常重要的文本编辑工具,它被广泛用于编写和修改配置文件、脚本等文本内容。本实验旨在帮助你掌握Vi编辑器的基本操作,以及C/C++...

    linux学习手册——常见的指令

    在 Linux 系统中,Vim 编辑器是一个非常强大的编辑器。我们可以使用 Vim 编辑器来编辑文件,例如 `vim file1` 可以编辑 `file1`。在 Vim 编辑器中,我们可以使用 `i` 键来进入插入模式,使用 `esc` 键来退出插入模式...

    功能最强的编辑器——vi

    功能最强在的编辑器——vi 和vi的基本操作

    linux系统vim实验报告.doc

    Linux系统中的vim编辑器是一个强大的文本编辑工具,广泛应用于各种Unix和Linux环境下。vim是vi的增强版,提供了更多的功能和便利性,尤其适合程序员进行代码编写。在使用vim时,掌握其三种基本模式——编辑模式、...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...

    Linux下vim编辑器的使用探讨.pdf

    《Linux下vim编辑器的使用探讨》这篇文章主要讲述了Linux操作系统中的核心编辑器——vim的使用方法及其重要性。Linux是由Linus Torvalds在1991年开发的开源操作系统,以其稳定性、多任务处理能力和网络功能而受到...

    详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    vi/vim介绍 它们都是多模式编辑器,不同的是vim 是vi的升级版本,... vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux

    文本编辑器——VI/VIM

    在Linux中,我们知道,一切皆文件,那么需要修改配置文本编辑器就是必不可少的,而vi/vim就是我们Linux中非常强大编辑器。vim是vi的升级版。接下来我们就一起来看看吧! vi/vim 编辑模式 作用 命令模式 用户...

    Linux常用命令和管理06-Linux文本编辑器vim基本用法1

    ### Linux文本编辑器vim基本用法详解 #### 一、末行模式下的行间跳转与内容定界 **vim** 是 Linux 下一款强大的文本编辑器,它支持多种模式进行编辑,包括插入模式、命令模式以及末行模式等。本文将重点介绍 **vim...

    linux-vimtranslate是Vim的一个小巧翻译shell封装

    【Linux开发-其它】:深入理解“linux-vimtranslate”——Vim的便捷翻译工具 在Linux开发过程中,高效地查阅和理解英文文档是至关重要的。`linux-vimtranslate`正是为了解决这一问题而诞生的,它是一个针对Vim编辑...

    学习VI和VIM编辑器++中文版++第7版

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就《学习vi和Vim编辑器(中文版)(第7...

    linux精彩问答——为你解惑

    9. **文本编辑器**:介绍流行的文本编辑器如`vi/vim`和`nano`,包括基本操作和快捷键。 10. **故障排除与调试**:面对错误时的处理策略,如阅读错误信息、使用`strace`和`gdb`进行系统调用跟踪和程序调试。 11. **...

    文本编辑器VI——Linux的基础

    在这个“文本编辑器VI——Linux的基础”主题中,我们将深入探讨VI的基本用法,以及它在Linux环境中的重要性。 首先,VI的全称是“Visual Editor”,但随着时间的发展,它已经演变为Vim(Vi IMproved),由 Bram ...

    Linux初级篇——vi和vim的区别

    文章目录==什么是vim???==vim的这些优势主要体现在以下几个方面:多级撤消易用性语法加亮...Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简

    Linux——文本编辑器Vim

    **Linux——文本编辑器Vim** Vim,全称Vi Improved,是Linux系统中广泛使用的文本编辑器,具有高效、灵活且功能强大的特点。Vim主要用于创建、编辑和查看文本文件,它没有图形化菜单,而是完全依赖于命令行模式进行...

    学习VI和VIM编辑器第7版中文

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ...

    学习vi和vim编辑器_第7版_中文

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ...

    linux-VimGameCodeBreak是vim80中的破坏代码游戏

    【标题】:“Linux开发环境下的VimGameCodeBreak——vim8.0的代码破解游戏” 【正文】: 在Linux开发领域,Vim编辑器因其高效和强大的文本操作能力而深受程序员喜爱。VimGameCodeBreak是一款特别设计的游戏,它...

    vim 编辑器 windows版

    总的来说,Vim编辑器在Windows上的使用,为开发者提供了与Linux平台一致的高效开发环境。熟练掌握Vim的使用,能极大地提升文本处理效率,尤其是对于习惯于命令行操作的用户来说,Vim是不可或缺的工具。

Global site tag (gtag.js) - Google Analytics