我正在寻找一种同时编辑多行的方法。
我发现Ctrl-V
+ 选择行 +I
应该是解决方案。问题是,对我来说,在按下I
(实际上Shift-i
)之后,我在我选择的第一行切换到经典的单行插入模式。
这是为什么?在我的 .vimrc 中是否有设置选项?
我正在使用启用了 +visualextra 选项的 vim 7.3(我在某处看到它是必需的)。
以下示例显示如何创建仅具有读取权限的文件。正如我们所见,当我尝试使用 echo 命令写入该文件时,我得到了Permission denied
.
但是为什么,在我们使用 vi 的情况下,我们没有得到Permission denied
?从这里可以看出,即使文件是只读的,我们也可以写入文件。
这里发生了什么?这是一个vi错误吗?
[admin@madona-machine1 ~]$ touch test-file
[admin@madona-machine1 ~]$ ls -ltr
total 0
-rw-r--r-- 1 admin admin 0 Apr 13 07:32 test-file
[admin@madona-machine1 ~]$ chmod -w test-file
[admin@madona-machine1 ~]$ ls -ltr
total 0
-r--r--r-- 1 admin admin 0 Apr 13 07:32 test-file
[admin@madona-machine1 ~]$ echo try_to_write > test-file
-bash: test-file: Permission denied
[admin@madona-machine1 ~]$ vi test-file
I am good singer,
~
~
~
~
~
~
~
"test-file" …
Run Code Online (Sandbox Code Playgroud) 在 Solaris 上,如果您在 vi 中打开一个带有 Windows 行结尾的文件,这会在每一行的末尾显示为 ^M。
在 Linux 上,vi 更聪明,可以理解 Windows 文件格式,并且不显示 ^M。
是否有设置可以使 Linux vi 在这方面的行为与 Solaris 相同?
对我们来说,一个常见的问题是从 (Windows) 开发箱中复制一个 shell 脚本并忘记使用 dos2unix,然后在它不能正常工作时感到困惑。在 Solaris 上,只要您 vi 文件,问题就很明显,但在 Linux 上则不然。
谢谢。
:set wrap
在 vi/vim 中使用时,即使在按显示行 (gj/gk) 而不是实际行 (j /k)。例如,如果一行被超过 5 行,并且当前在显示缓冲区之外,则在导航到该行时缓冲区将跳转 5 行以强制整行适合屏幕。有没有办法禁用这种行为?请注意,set display+=lastline
当通过导航离开该行迫使环绕的行离开屏幕时,将允许显示部分行,但这并不能解决导航到最初位于缓冲区之外的行时发生的缓冲区跳转。
澄清:如果上述描述含糊不清,要点是我希望能够在启用换行的情况下在 vim 中平滑滚动,这样行将部分显示在屏幕外,而不是强制全部显示。
我在 Vim 中安装了 Syntastic,它完美地发现了错误(主要是在我正在处理的 Python 代码中)。如果我在文件中正常跳转,当光标位于相关行上时,我会在状态栏中看到错误。
我无法弄清楚的是如何直接在错误之间导航。
我知道 Syntastic 正在将错误加载到 Vim 位置列表中,我可以使用 显示它:lopen
,切换到该窗口,选择一行并点击Enter并转到右侧行的主窗口。
不过,我想做的不是打开列表,只需在有错误的文件中进行编辑,然后点击键盘快捷键即可跳到下一个警告/错误所在的位置。
那可能吗?文档表明,:lNext
并且:lprevious
是相关的,但他们让我E553: No more items
。
有没有办法在不使用时隐藏 vim 命令行(理想情况下,自动)?在小屏幕上,它占用了一条有价值的线路。我想这将是“正常的”隐藏的,当出现:
,/
等被键入。
我一直在使用 gVim 并且喜欢它的界面。我爱上了我的键盘功能技能。
我想知道是否有任何应用程序可以将其功能扩展到 Windows 7 的所有部分?至少有一些基本的功能。
我希望能够控制资源管理器、浏览器等。
我只想停止使用我的该死的老鼠。这不好玩。
谢谢。
在Bash的“Emacs 模式”( set -o emacs
) 中,我可以在我最喜欢的外部 $EDITOR 中编辑当前命令行。我所要做的就是按Ctrl+X然后Ctrl+ E。
但是,因为我已经切换到 Bash 的“vi 模式”( set -o vi
),所以这个按键序列没有任何作用。在“vi 模式”下,如何启动外部编辑器以编写更长的命令?
我有一些这样的文本行:
firstName
lastName
email
Run Code Online (Sandbox Code Playgroud)
现在我添加private readonly string
到第一行的开头。如何对其他行重复此编辑?(当然不是手动访问每一行)(顺便说一句,我确实意识到这可以用正则表达式来完成,但如果可能的话,我正在寻找一种“vi方式”)
以防万一,我正在使用VsVim
如何使用 Notepad++ 的 6.2.3 版本。我想知道如何使 BOM chanracters 可见。我尝试使用可用的菜单列表但没有用。
但是这些字符只能在Linux环境下使用。如果我们使用vi编辑器。