Vi & Vim

使用vi和Vim系列文本编辑器的人员的问答

3
如何在Vim中禁用箭头键?
我想教自己使用hjkl多于使用箭头键,以便留在首页上。是的,我非常清楚,不应使用hjkl作为主要导航键。但是我的习惯很强,我什至没有意识到那会导致手向箭头键移动,所以我想不学习它。 为了打破这种习惯:如何禁用箭头键,以使我不得不使用hjkl或其他导航方法? 另外,如果显示的消息Dont't use this!不是强制性的,则将很有帮助。如果他们不起作用,那将使我重新思考自己的习惯会感到困惑。


9
如何在不退出普通模式的情况下插入换行符
我想知道是否可以在不离开普通模式的情况下插入新行。例如,我有两行: this is line one this is line two 光标在第一行。现在,我要在第一行和第二行之间换行,如下所示: this is line one this is line two 我知道在正常模式下,只需按即可o。但这将进入插入模式。 如何插入新行并保持正常模式?

3
在插入模式下撤消
在插入模式下,是否有命令撤消上一次执行的操作? 我只是使用粘贴了来自错误寄存器的文本<C-r>,并且有两个选择: 手动删除我刚刚粘贴的内容,然后重新开始。 切换到普通模式,点击u并丢失我输入的文字<C-r>。 有没有更好的办法?

5
客户端-服务器模式的实际用途是什么?
我知道Vim允许客户端服务器模式(:h clientserver):可以将其转换为将获取一些命令并执行它们的服务器,以及将其发送到服务器的客户端。 我知道它是如何工作的,但是我无法想象此功能的实际使用:在什么情况下它有用,并且可以使用此功能创建什么工作流程? 所以我的问题很简单:Vim的客户端服务器模式有什么用? (我再次指出,我的问题不是关于如何使其工作或如何工作,而是为什么要使用它。)

1
如何在当前窗口中打开新缓冲区?
我打开了一些带有不同窗口设置的选项卡。 我想在当前窗口中打开一个新的空白缓冲区,而没有任何其他拆分/窗口或标签 有什么办法吗? 我知道我可以像:n那时C-w j那样做,:q但这似乎有些混乱。 或类似选项卡: :tabe gT :q 我对窗口和缓冲区之间的关系总体上有些困惑-您可以打开许多不可见的缓冲区,可以清理使用这些缓冲区,bd但是如果看不见,则必须将其保存,因为您无法隐藏它们(使用:q)而不保存或放弃更改……这似乎有些奇怪。

2
“退出”和“中止”有什么区别?
当我尝试从多个vim实例打开文件时,出现以下错误提示: Swap file "~/.vim/tmp/file.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort: “退出”和“中止”有什么区别? 我的第一个猜测是,当我尝试打开多个文件而在其他位置仅编辑一个文件时,“退出”可能会跳过一个文件,而“中止”可能会退出程序,但这显然是不正确的-两者都放弃了整个尝试在编辑并返回到终端。
23 swap-file  quit 

1
如何配置Vim航空插件使其看起来像自己的项目屏幕截图?
我正在尝试启动和运行vim-airline。 我已经通过vundle要求了它~./vimrc: Plugin 'bling/vim-airline' 我已经安装了它,并期望我的Vim看起来像其项目页面上的截图: 但是看起来像这样: 关于字体,我尝试添加: let g:airline_powerline_fonts = 1 然而,这些图标只是胡言乱语。 我想念什么? 我刚刚发现,对于颜色,如FAQ中所述,我可以添加.vimrc: set t_Co=256 但这仍然导致线条看起来失真: 特别是关于Git的集成(带有图标的分支名称)。或显示>-“箭头”的方式。我也想要那个糖果。我什至可以在Bash中实现这一目标吗?还是需要其他外壳? 基本上,我希望Vim看起来像插件页面上的示例屏幕截图,因为我希望它是插件的默认设置。我该如何实现?

4
如何从外部关闭Vim?
假设我有一个挂起的X11服务器,这使我无法保存X11服务器控制的XTerm Vim会话中的工作。(不是GVim,只是常规的Vim-in-XTerm。) 有没有办法(从另一个终端)告诉正在运行的Vim进程从命令行“全部保存并退出”?通过发送信号还是通过其他方式? 我知道Vim交换文件,并且可以杀死Vim并从交换中恢复。我问是否有一种“清洁”的方式。
23 quit 

7
Vim 8.0 Python支持
我正在尝试将Vim安装升级到8.0版,但不支持Python和Python 3,如下图所示。 (PS:由于这个问题,我现在不能使用YCM(YouCompleteMe)插件。) 我按照以下命令安装了Vim 8.0。 我正在使用Ubuntu 16.04(Xenial Xerus)。 我该如何解决这个问题? sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim



4
使用Python文件类型时,如何在vim中重新格式化多行字符串?
假设我正在vim中编辑一些Python代码,如下所示: myobj.myfunc("Some string parameter that goes on and on and on and on and sometimes doesn't" "split very" "neatly over different lines so that" "it is formatted attractively") 我希望重新格式化,以便重新设置到textwidth我设置的位置: myobj.myfunc("Some string parameter that goes on and on and " "on and on and sometimes doesn't split very " "neatly over …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.