在Vim的NerdTree插件中创建符号链接的操作疑问
NerdTree 创建符号链接的操作说明
一、m+s选项后的输入内容
当你在NerdTree光标定位到目标文件,按m调出菜单选s后,弹出的bash命令行需要输入符号链接的完整路径(包含链接文件的名称)。
举个例子:如果当前选中的是/home/user/file.py,你想在/home/user/projects/下创建名为linked_file.py的符号链接,直接输入/home/user/projects/linked_file.py回车即可。NerdTree会自动帮你补全ln -s的源文件参数,最终执行的是ln -s /home/user/file.py /home/user/projects/linked_file.py。
二、NerdTree内的其他创建方法
如果觉得默认的s选项不够直观,可以通过自定义Vim配置实现更便捷的操作:
- 自定义映射函数:在你的
~/.vimrc(或init.vim)中添加以下配置,快速调用创建符号链接的逻辑:
保存配置后,在NerdTree选中文件时按function! NERDTreeCreateSymlink() let s:current_node = g:NERDTreeFileNode.GetSelected() if s:current_node ==# {} echo "No file selected in NerdTree" return endif let s:source = s:current_node.path.str() let s:target = input("Enter symlink path: ") if s:target !=# "" execute "!ln -s " . shellescape(s:source) . " " . shellescape(s:target) echo "Symlink created: " . s:target call g:NERDTree.Refresh() endif endfunction nnoremap <leader>ns :call NERDTreeCreateSymlink()<CR><leader>ns(<leader>默认是反斜杠\),就能直接输入链接路径完成创建,还会自动刷新NerdTree显示。 - 直接执行Vim命令:在NerdTree选中文件后,也可以直接在Vim命令行执行
:!ln -s 源文件路径 链接路径,其中源文件路径可以通过NerdTree的节点信息快速获取(比如用s:current_node.path.str()的方式,或者手动输入)。
内容的提问来源于stack exchange,提问作者woodz
相关产品推荐
相关产品推荐

