当我将代码粘贴到Mac终端窗口的vim中时,它会缩进每一行。对于每一行,它添加一个缩进,所以文本看起来像这样...
"ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nu
很多时候,当我粘贴到vim中时,我得到的级联缩进是相当令人沮丧的。结果将如下所示
This is line one
This is line two
This is line three
This is line four
我想知道是否有一种方法可以告诉vim将第二行到第四行与第一行对齐。如果第一行文本从光标位置6开始,有没有办法说“让接下来的10行也从位置6开始?”
我已经使用VI和VIM多年了(30或更多年)(在xterms中,不是它自己的窗口,gvim),我有一个巨大的vim命令库,我使用鼠标中间按钮作为选择提供给vim。
例如,我经常做这样的事情.
vi {many_hundreds_of_files}
paste vim commands using mouse - one paste per file.
所选内容将包括大量的VIM命令,用于替换测试、格式化、移动行等,并且通常以:w和:next VIM命令结尾,因此vim已准备好再粘贴到下一个文件中。这允许我以非常复杂的方式更新大量的文件,而不需要特殊的脚本(例如perl就地编辑)来完成。
我是一个普通的vim用户,平均.vimrc包含:
set autoindent
一般来说,这并不是那么糟糕,但当涉及到从外部复制内容时,我会发现这段代码的缩进非常混乱。更糟糕的是,如果文本包含像"//“这样的注释,即使它们最初没有被注释,它们也会传播到复制内容的下一行。gg=G帮不上忙。
有没有办法在从外部复制东西的操作中将自动缩进设置为禁用?
为了复制到剪贴板上,我使用了"+y,但是有一件小事困扰着我:如果我将它复制到其他程序中,比如“崇高文本”,那么在复制它之后,将它复制到新的行中。
例如,我有以下案文:
this is sentences from vim
我只选择:
this is sentences
在可视模式下,我按"+y键。
当我粘贴到崇高文本时,我会在它后面得到一个新的行:
this is sentences
<this is where my cursor at>
这一切为什么要发生?如何防止Vim在复制时添加该换行符?
如果在vim中粘贴文本我忘记切换到插入模式,而文本流处于正常模式,通常会发生的情况是,“命令”一直执行到第一个插入模式字符(i I a A o O s S c C),然后其余的文本被粘贴,留下一定程度的混乱。
有没有一些单词(或代码片段)在正常模式下粘贴时会造成很多混乱?
例如,use会撤消上一次更改并覆盖撤消历史,这可能会耗费一些精力。
我猜顺便说一句,也许有一种方法可以解决这种人为错误?
有没有办法定义一个字符串换行符,在vim中逐字。简而言之,我正在寻找的是与以下bash命令等效的vim
printf "
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name :
* Last Modified :
* Created By :
_._._._._._._._._._._._._._._._._._._._._.*/
"
我可以这样做:(a)单独打印每一行,(b)将"^M“添加到每一行,(c)使用:r从文件中读取文本,所有这些都有点麻烦。在vim中有没有像bash的printf这样干净的方法
我有以下一段话: 1 sometexthere
2 indented text
3 indented text
4 indented text 我想使用vim的搜索和替换命令在缩进文本之前添加一些文本。例如: 1 sometexthere
2 test: indented text
3 test: indented text
4 test: indented text 有没有办法使用vim的搜索和替换语法来实现以下结果?我尝试过像2,4s/^/test: /这样的命令,但仍然想不出去掉空格的方法。
我在.vimrc中的“set paste”选项似乎没有被选中。当我启动vim并转到插入模式时,我得到了预期的插入(粘贴)。然而,当我用apple-V从剪贴板上粘贴时,文本在每一行都会逐渐缩进,就好像我没有打开粘贴模式一样。然后我手动输入:设置粘贴并重试,文本格式正确。
此外,似乎自动缩进是斑驳的,即使它也是明确设置的。
这是OSX Lion上的vim 7.3。谢谢!
set paste
set autoindent
syntax on
colorscheme elflord
set tabstop=2
set softtabstop=2
set shiftwidth=2
我正在寻找VI/VIM中的一个命令来搜索文件中的特定文本,并抓取整行内容并在屏幕上或单独的文件中输出。例如:
This is some line with this _word_ and some other text.
This is some line with this some other text and some other text.
因此,这将只输出第一行。
现在,例如,我有一些文本,比如(都在单独的行上):
*
1st Line)Who are you?
2nd Line)How are you?
3rd Line)Where are you?
4th Line)Whom are you with?
5th Line)Why are you here?
*
我想要做的是在一个vim命令中复制/yank第1,3,5行,然后使用vim中常用的粘贴(P)命令将其粘贴。