V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  skywind3000  ›  全部回复第 6 页 / 共 7 页
回复总数  123
1  2  3  4  5  6  7  
2018-03-08 12:03:09 +08:00
回复了 joysir 创建的主题 Vim 用 NodeBB 搭建了一个 Vim China
支持
2018-03-08 12:01:21 +08:00
回复了 hbliu 创建的主题 Vim vim 插件 NeovimGdb
Vim 已经原生支持 terminal 了,同时也有 job control 系统。
2018-03-07 11:24:12 +08:00
回复了 hbliu 创建的主题 Vim vim 插件 NeovimGdb
Vim 也有 terminal 啊,能支持 Vim 么?
2018-03-03 17:36:08 +08:00
回复了 skywind3000 创建的主题 Linux Bash Cheatsheet
@ulala 因为 bash 手册实在是太冗长了
2018-03-02 20:01:01 +08:00
回复了 skywind3000 创建的主题 Linux Bash Cheatsheet
@cxbig bash 的数组都是从零开始的,不像 zsh
2018-03-01 12:10:32 +08:00
回复了 daya0576 创建的主题 Vim 从零学习 vim 一个多月, 感觉最有用的三个教程
想用光标键就用光标键。
2018-03-01 12:10:20 +08:00
回复了 daya0576 创建的主题 Vim 从零学习 vim 一个多月, 感觉最有用的三个教程
我是推荐想用鼠标就用鼠标的,降低点门槛。
2018-01-24 20:47:54 +08:00
回复了 skywind3000 创建的主题 Vim 云剪贴板 - 在不同的电脑之间愉快的 copy/paste
ptpb 就经常访问不了。
2018-01-24 20:25:02 +08:00
回复了 skywind3000 创建的主题 Vim 云剪贴板 - 在不同的电脑之间愉快的 copy/paste
这功能最容易想到的实现当然是私人自己架设一台服务器啊,ptpb 和 ix.io 貌似就是两个私人架设的服务器,私人架设最大的问题就是服务不稳定,今天可以用,明天服务器欠费到期了,你就可能不能用了。所以使用 gist 这个公共服务就是从稳定性和受众面足够广考虑的。
2017-01-06 02:24:52 +08:00
回复了 chemzqm 创建的主题 Vim 你的 neovim 可以更快一些
我给 neovim 提了一大堆 bug ,现在都没人回答,不要觉得 neovim 的 ui 分离有多好用,一堆 bug :

比如:
https://cloud.githubusercontent.com/assets/3035071/21546207/1f74f8a4-ce18-11e6-97c0-f8cf76281d2d.gif

再稳定些吧。
2017-01-06 02:19:26 +08:00
回复了 chemzqm 创建的主题 Vim 你的 neovim 可以更快一些
bug 太多了, neovim ,实在是,
@wsdjeg 我当然看过啊,就是用 Electron ( atom-core )给 nvim 套了个壳,你没看好多组件都和 Atom Editor 一模一样么?
这明明就是一个 Atom Editor 啊,哈哈。
2016-12-10 00:18:02 +08:00
回复了 xinali 创建的主题 Vim vim 中执行程序的快捷键定义
因为你取的 &filetype 是需要 vim 识别得了的 filetype ,不是文件扩展名,你把它当文件扩展名来判断,显然是不正确的,你可以 ":echo &filetype" 看看你的文件是什么类型的。 ps1 的文件 &filetype 的值是 "",空,因为 vim 不识别。

取文件扩展名要用 expand("%:e") 来取,而且你上面直接使用 %也是不对的,文件名里面包含空格就挂掉了。再者你用 GVim 的话,这种直接 !的运行方式很不友好, Vim 会卡住,提示你按任意键继续。不知道网上流传的这段代码是谁写的,导出转载却又错误百出。

如何在 Vim/GVim (windows) 里面优雅的运行程序呢?见我博客。
http://www.skywind.me/blog/archives/1708
2016-12-01 22:16:21 +08:00
回复了 fuxkcsdn 创建的主题 Vim 未保存的文件如何跳转<C-]>到定义在其他文件的函数?
习惯使用
<C-W><C-]>

<C-W>}
2016-11-25 04:00:33 +08:00
回复了 andyL 创建的主题 Python 求教一下使用 Dash 查看 Python 相关文档的正确姿势 : )
@zhuangzhuang1988 windows 和 linux 用户可以用 zeal 代替 dash ,还不需要付费,完整功能:
https://zealdocs.org/
2016-11-23 19:50:09 +08:00
回复了 RicardoM 创建的主题 Vim Vim 写 C++,如何在输完分号; 后自动格式化当前行的代码
现在的同学们写点代码依赖自动化到这种地步了么?以前 DOS 下敲代码时,有个 autoindent 就算不错了。
2016-11-19 02:11:57 +08:00
回复了 tracyone 创建的主题 Vim macOS 下的 vim 如何充分利用 command 按键?
最简单的做法是,在 iTerm 里面配置->键盘->添加一个映射,将 CMD+X 映射成 “发送以 ESC 开头的字符串"
然后填写字符串内容为:"]{1}X~" ,意思是当你按下 CMD+X 时, iterm 将向终端发送字符串:
"\033]{1}X~"

然后你就可以在 VIM 里面把那一串字符串当成一个连续击键动作了:
noremap <ESC>]{1}X~ (你的命令)

这样你在 iTerm/Terminal.App 里面按下 CMD+X ,终端里面的 Vim 就能做出正确的反应。
然后你会发现,其实你只要手速够快,连续按下:<ESC>, ], {1}, X, ~ 也能触发该操作,(在 timeout 值内连续按下)

所以我们设置后面的那串字符串第一个字符为 "]" 的意思就是,正常操作 Vim ,不大可能按了 ESC 以后一秒以内(默认 timeout )马上又按下 "]"。即便按下了,也不大可能再次马上按“{”,

如此,“<ESC>]{1}?~” 基本上是正常操作里面不可能一秒内出现的字符串,用于表示你的 CMD+X 再合适不过。
就像你不设置 ttimeout, ttimeoutlen ,然后快速的在 VIM 里面按下 <ESC>OP , Vim 将会以为你按下了 <F1>一样,
因为 F1 的终端下字符串序列就是 <ESC>OP ,而你在 Insert 模式下面马上<ESC>退出并按下大写 O ,向上插入一行,
Vim 将会等待一秒钟(默认 timeout ),确认后面没有一个 P ,才会进一步确认,不是 F1 ,而是向上插行。

所以上面用 "\033]" 开头就是避免出现这种情况

进一步,终端下设置 ALT 键时也可以用这种序列,比如所有 ALT 组合键在 securecrt/xshell/iterm 下可以设置发送
“\033]{0}X~” 形式的字符串,然后按照上面方法映射,不过,还有更好的方法,直接在终端下:

noremap <M-X> (命令)
exec "set <m-X>=\e]{0}X~"

这样就可以告诉 Vim ,<m-x>这个键的终端码为:"<ESC>]{0}X~"
然后你把 ttimeout 打开,并且把 ttimeoutlen 设置为 100 毫秒,

如此,万事大吉了,绝对不可能有手速可以在 100 毫秒内连续敲入上面几个按键,
你可以理解成,你从终端到 Vim ,重新定义了一个新的键盘码。

设置成一个新键盘码而不是直接 map 那串<ESC>开头的字符串,好处在于,可以让 Vim 知道这是一个完整按键

可惜的是,你在终端下不能象设置<M-X> 一样设置<D-X> 的键盘码,你 set <D-X> vim 会报错,可能那部分处理代码并没有加入对 <D-X>的支持,不过没事情。还有几个键盘上从来没有出现过的按键给你使用,那就是
<F13> - <F37> 一共有 25 个虚拟功能键给你使用,足够你用了吧?

最终的方法为:

在 iterm 下,新增设置 D+X 为发送以 <ESC>开头的字符串,字符串内容为:“]{1}X~”
在 Vim 中:
noremap <F13> (命令)
exec "set <F13>=\e]{1}X~"

好了,你可以自由的在终端下使用你的 CMD 了。

然后可以覆盖 iterm 下面的按键,同时,你链接到其他服务器上使用 vim ,只要你 iterm 里有这个配置,就都能使用。
不限于 Mac
2016-10-31 04:35:49 +08:00
回复了 mrytsr 创建的主题 Vim vim8 插入模式下, ctrl-w,ctrl-u 等快捷键无效
你哪个插件覆盖了吧?用下面这个启动下看看还有问题么:
vim -u NONE --noplugin

如果不加载插件没问题,那么你可以诊断下问题
:verbose inoremap <c-w>
:verbose imap <c-w>
@tracyone cscope 的更新需要写一个函数来处理回调,见:
[Example-for-updating-and-adding-cscope]( https://github.com/skywind3000/asyncrun.vim/wiki/Example-for-updating-and-adding-cscope)
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2449 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 12:59 · PVG 20:59 · LAX 05:59 · JFK 08:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.