标签: vim

按文件类型更改Vim缩进行为

有人可以用简单的语言向我解释根据文件类型更改Vim的缩进行为的最简单方法吗?例如,如果我打开一个Python文件,它应该缩进2个空格,但如果我打开一个Powershell脚本,它应该使用4个空格.

vim settings file indentation

364
推荐指数
10
解决办法
17万
查看次数

如何在Vim中保存和恢复多个不同的会话?

根据我在Vim中的任务,我打开了几个标签.

如何保存不同的会话供以后使用?

vim session

363
推荐指数
8
解决办法
8万
查看次数

粘贴在插入模式?

是否可以在Vim中以插入模式粘贴?

vim

363
推荐指数
8
解决办法
19万
查看次数

将光标移动到vim中的文件末尾

当我希望光标在Vim中转到文件的末尾(即最后一行的末尾)时,我必须键入六个键击:

<ESC>G$a- 在我的键盘布局上转换为ESC+ Shiftg+ Shift4+ a.

我怎样才能更有效地做到这一点?

由于我经常在许多不同的机器上工作,我不能总是改变.vimrc,所以我在寻找答案而不必编辑或创建该文件.

vim

360
推荐指数
10
解决办法
53万
查看次数

使用像缓冲区这样的Vim标签

我已经看过在Vim中使用制表符的能力(用:tabe,:tabnew等)作为我当前在隐藏缓冲区中在同一窗口中打开许多文件的做法的替代.

我希望我打开的每个不同文件始终位于其自己的选项卡中.但是,有些事情会妨碍这一点.我该如何解决这些问题:

  1. 当命令喜欢gf^]跳转到另一个文件中的某个位置时,该文件将在当前选项卡的新缓冲区中打开.有没有办法让所有这些命令在新选项卡中打开文件,或者如果文件已经打开则切换到现有选项卡?

  2. 当我可以使用切换缓冲区时 :b <part of filename><tab> ,它将完成现有缓冲区中文件的名称.<part of filename>甚至可以是文件名的中间而不是开头.是否有相应的切换标签?

vim tabs editor

357
推荐指数
8
解决办法
14万
查看次数

如何保存为新文件并继续处理Vim中的原始文件?

每当我使用该:sav命令时,它都会使用新名称保存文件,并在Vim中打开新文件.

是否可以使用新名称保存文件,但保持原始文件可以编辑?

vim save save-as

352
推荐指数
4
解决办法
24万
查看次数

用Vim中的空格替换Tab

我想将tab转换为gVim中的空格.我向我添加了以下行_vimrc:

set tabstop=2
Run Code Online (Sandbox Code Playgroud)

它可以在两个空格处停止,但它仍然看起来像是插入了一个tab键(我尝试使用h键来计算空格).

我不知道如何将gVim转换为空格?

vi vim

341
推荐指数
8
解决办法
31万
查看次数

如何在VIM中的expandtab选项为ON时插入Tab字符

当我处于INSERT模式并且我已经打开expandtab选项时,按下选项卡会导致插入已配置的空格数.

但偶尔我想插入制表符本身.

你知道怎么做吗?

vim

330
推荐指数
2
解决办法
10万
查看次数

在Vim中合并多行(两个块)

我想在Vim中合并两个线块,即取线n..m并将它们附加到线条上a..b.如果您更喜欢伪代码解释:[a[i] + b[i] for i in min(len(a), len(b))]

例:

abc
def
...

123
45
...
Run Code Online (Sandbox Code Playgroud)

应该成为

abc123
def45
Run Code Online (Sandbox Code Playgroud)

没有手动复制和粘贴,有没有一种很好的方法可以做到这一点?

vim

323
推荐指数
5
解决办法
8万
查看次数

在"插入"模式下遍历文本

而在插入模式在Vim中,有没有什么办法来遍历文本移动一些字符向前和向后除了使用箭头键?

如果我按h,j,kl在插入模式下,实际的字符显示在屏幕上,而不是在文本上移动.

我现在这样做的方式是不得不求助于Ctrl+ [(Esc)然后遍历文本; 但显然这不是很有成效.

vi vim

311
推荐指数
6
解决办法
9万
查看次数

标签 统计

vim ×10

vi ×2

editor ×1

file ×1

indentation ×1

save ×1

save-as ×1

session ×1

settings ×1

tabs ×1