1. Linux的vim如何自动缩进

在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc或者sudo gedit /etc/vim/vimrc1、显示行号在文件末端添加一新行,输入 set nu2、语法高亮在文件中找到 "syntax on 这一行,去掉前面的双引号",双引号是注释的意思3、自动缩进其中autoindent 是自动缩进;

cindent是特别针对 C语言语法自动缩进 注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:

sudo apt-get install vim

2. linux怎么强制退出vim

vim是linux编辑命令 ,保存:wq ,强制保存!wq,退出 :q

3. vim 换行后自动缩进

vim和emacs的能力确实强大,定制能力也非常强。

如vim,可定制语法高亮、颜色方案、文字编码、显示行号、自动缩进、自动保存、查找结果高亮显示等,可以设定某个功能键运行某个程序,VIM应该是程序员的编辑器,现在我在vim中编写C、python、ruby、rails等程序,直接按f4、f8、f9等就可运行看到结果。emacs比vim要复杂的多,但我们只要能把自己的任务解决,没必要把emacs的所有功能全部掌握,现在我也用emacs编写python程序,按ctrl-c ctrl-c直接运行,用emacs运行c和ruby正在解决中。vim的定制文件是.vimrc,emacs的定制文件是.emacs,定制好配置文件加上下载需要的各种插件,将实现几乎所有想要的功能。emacs的文本处理能力比vim强,二进制处理能力也比vim强,emacs比vim程序体积大。如某文件在vim中16进制显示就有问题,在emacs中的16进制模式中显示无误。emacs和vim打开一个很大的文件,速度都很快,都比其他常用程序快很多。

4. linux 自动缩进

RStudio是一款功能强大的自由和开源编程语言和环境,提供了大量的图形和统计方法统计计算和图形。RStudio支持多系统MOX OS X,Linux和Windows系统,软件可以对代码进行整理,方便您的观看。RStudio支持语法高亮、代码完成和智能缩进。

5. linux vim撤销 前进

progress是一个不可数名词。

progress,音标, ['prəʊgres],按音标读。

意思:

n. 进步,发展;前进

vi. 前进,进步;进行

n. (Progress)人名;(赞)普罗格雷斯

双语例句:

1、All these things cramped his progress.

这一切妨碍了他的进步。

2、The book treats of the progress of civilization.

这本书论述了文明的进步。

3、He has made rapid and brilliant progress in his studies.

他在学业上有着迅速而突出的进步。

4、The book stands out as one of the notable landmarks in the progress of modern science.

这部著作是现代科学发展史上著名的里程碑之一。

5、They made no progress in the heavy snow.

他们在大雪中无法前进。

6、Human society makes unceasing progress.

人类社会总是不断进步的。

6. vim多行缩进快捷键

VIM代码折叠方式可以用"foldmethod"选项来设置,如: set foldmethod=indent

有6种方式来折叠代码

1. manual //手工定义折叠

2. indent //用缩进表示折叠

3. expr //用表达式来定义折叠

4. syntax //用语法高亮来定义折叠

5. diff //对没有更改的文本进行折叠

6. marker //用标志折叠

7. vim设置语法高亮和自动缩进

在 vim 中,这是一种称作 modeline 的技术,用于在打开文件时正确的应用一些选项。vim 的表现行为受一系列“选项(option)”的控制。比如:

:set ts=4

告诉 vim 一个制表符(tabstop)的长度是 4。vim 没有 bw 这个选项,有可能是 sw 的笔误。:set sw=4

是告诉 vim 在缩进代码时的缩进量(shiftwidth)为 4。传统上 tabstop 的值为 8。虽然通常并不建议更改这个选项的值,但还是有些场合把它改成其它值更方便。为了能让 vim 下次打开这个文件时正确应用这些选项,可以在代码的开头或结尾加上:vim: sw=4 ts=4

vim 在打开文件的时候,会在开始和结尾搜索匹配这样的格式的行,并把相应的选项设置成指定的值。

8. vim 设置缩进

vi(vim)键盘图及其基本命令

进入vi

vi filename 打开或新建文件,并将光标置于第一行首。

vi +n filename 打开文件,并将光标置于第 n行首。

vi + filename 打开文件,并将光标置于最后一行首。

vi -r filename 在上次正用 vi编辑时发生系统崩溃,恢复文件

vi file1....filen 打开多个文件,依次编辑。

vi的工作模式

命令行模式 (command mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode):只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式(last line mode):将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号等。

命令行模式

移动光标

k、j、h、l 功能分别等同于上、下、左、右箭头键。

Ctrl+b 在文件中向上移动一页(相当于 PageUp 键)

Ctrl+f 在文件中向下移动一页(相当于 PageDown 键)。

ctrl+u 屏幕往后移动半页。

ctrl+d 屏幕往前移动半页。

H 将光标移到屏幕的最上行(Highest)。

nH 将光标移到屏幕的第 n 行(如 2H: 将光标移到屏幕的第 2 行)。

M 将光标移到屏幕的中间(Middle)。

L 将光标移到屏幕的最下行(Lowest)

nL 将光标移到屏幕的倒数第 n 行(如 3L:将光标移到屏幕的倒数第 3 行)

w 在指定行内右移光标,到下一个字的开头

e 在指定行内右移光标,到一个字的末尾

b 在指定行内左移光标,到前一个字的开头

0 数字0,左移光标,到本行的开头

G 光标移动到文章的最后

nG 光标移动到文章的第 n行(如8G:移动到文章的第 8行)

$ 右移光标,到本行的末尾

^ 移动光标,到本行的第一个非空字符

替换和删除

rc 用 c 替换光标所指向的当前字符

nrc 用 c 替换光标所指向的前 n 个字符(如 5rc: 用 c 替换光标所指向的前 5 个字符)

x 删除光标所在位置后面的一个字符

nx 删除光标所在位置后面的 n 个字符(如 3x:删除光标所在位置后面的 3 个字符)

X 大写的 X,删除光标所在位置前面的一个字符

nX 删除光标所在位置前面的 n 个字符(如 3X : 删除光标所在位置前面的 3 个字符)

dd 删除光标所在行,并去除空隙

ndd 从光标所在行开始删除 n 行内容,并去除空隙(如 3dd: 删除 3 行内容,并去除空隙)

复制和粘贴

从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。

p 小写字母 p,将缓冲区的内容粘贴到光标的后面

P 大写字母 P,将缓冲区的内容粘贴到光标的前面

如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文则粘贴在当前光标所在行的上一行或下一行。

有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是:

yy 复制当前行到内存缓冲区

nyy 复制 n 行内容到内存缓冲区(如 5yy: 复制 5 行内容到内存缓冲区)

搜索字符串

/str1 正向搜索字符串 str1

n 继续搜索,找出 str1 字符串下次出现的位置

?str2 反向搜索字符串 str2

撤销和重复

u 撤消前一条命令的结果

. 重复最后一条修改正文的命令

文本选中

v 字符选中命令

V 行选中命令

插入模式

进入插入模式

i 在光标左侧输入正文

a 在光标右侧输入正文

o 在光标所在行的下一行增添新行

O 在光标所在行的上一行增添新行

I 在光标所在行的开头输入正文

A 在光标所在行的末尾输入正文

退出插入模式

ESC 键或组合键Ctrl+[

底行模式

在vi 的底行模式下,可以使用复杂的命令。

退出命令

在命令模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要退出编辑程序,而不打算保存编辑的内容,可用下面的命令:

: q 在未作修改的情况下退出

: q! 放弃所有修改,退出编辑程序

行号和文件保存

: n 将光标移到第 n 行

:set nu 显示行号

:set nonu 取消行号显示

底行模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:

: .+5 将光标移到当前行之后的第5行

: $ 将光标移到正文最后一行

在底行模式下,允许从文件中读取正文,或将正文写入文件。例如:

:w 将编辑的内容写入原始文件,用来保存编辑的中间结果

:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)

:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变

:a,bw file 将第 a 行至第 b 行的内容写入 file 文件 (如:1,.w file 将第 1 行至当前行写入 file 文件)

:r file 读取 file 文件的内容,插入当前光标所在行的后面

:f file 将当前文件重命名为 file

字符串搜索

:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行

:?str? 反向搜索,将光标移到上一个包含字符串 str 的行

正文替换

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

删除正文

:d 删除光标所在行

:3d 删除第 3 行

:.,$d 删除当前行至正文的末尾

:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行

恢复文件

vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令,也可以在启动 vi 时利用 -r 选项。

:recover 恢复文件

选项设置

为控制不同的编辑功能,vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为:

:set option 设置选项 option

常见的功能选项包括:

autoindent 设置该选项,则正文自动缩进

ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别

number 设置该选项,则显示正文行号

ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置

tabstop 设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8

mk 将选项保存在当前目录的 .exrc 文件中

shell切换

在编辑正文时,利用 vi 底行模式下提供的shell 切换命令,无须退出 vi 即可执行Linux 命令

:! command 执行完shell 命令 command 后回到vi

另外,在命令模式下,键入K ,可命令 vi 查找光标所在单词的手册页,相当于运行man命令。