vim 添加当前文件名

在Vim中插入当前文件名  

Ctrl+r,  光标会变为  “
然后键入%
即可插入当前文件的名字
<think> 我们正在讨论Vim中查看当前文件名称的方法。根据引用[3],有两种主要方法: 1. 使用寄存器:在插入模式下,按Ctrl+R然后输入%号,可以插入当前文件名(包含路径)。如果只需要文件名(不含路径),可以使用Ctrl+R然后输入%:t。 2. 使用expand()函数:在插入模式下,按Ctrl+R,然后按=,输入expand("%:t"),回车,即可插入不含路径的文件名。 另外,在普通模式下,我们可以通过命令`:echo expand('%:t')`来显示当前文件名(不含路径),或者使用`:echo expand('%')`显示包含路径的文件名。 因此,总结如下: - 在插入模式下快速插入文件名: - 完整路径:`<C-R>%` (即按Ctrl+R,然后输入%) - 仅文件名:`<C-R>=expand("%:t")<CR>` 或者更简单的 `<C-R>%:t` (注意:实际上测试发现,直接`<C-R>%:t`可能不行,需要按照引用[3]的第二种方法,即使用表达式寄存器) 引用[3]中提到的第二种方法是:按Ctrl+R,再按=,然后输入`expand("%:t")`,回车。我们可以将其映射为快捷键。 - 在普通模式下查看(不插入)文件名: - 输入命令 `:echo expand('%:t')` 可以显示当前文件名(不含路径) - 或者更简单的,Vim的状态栏通常会显示文件名(可以通过设置statusline来定制) 根据用户的问题,他想要“查看”当前文件名称,并不一定是插入。所以我们可以提供两种场景的解决方案。 同时,引用[3]还提到,特殊寄存器`"%`包含当前文件名,所以我们可以通过`""%p`(在普通模式下)来粘贴当前文件名,但这样会覆盖默认寄存器。更安全的方式是使用`:echo`命令。 因此,回答如下: </think> ### Vim中查看当前文件名称的方法 在Vim中查询当前文件名称有多种方法,以下是具体操作步骤和原理: #### 1. **命令行模式查看** 在普通模式下输入: ```vim :echo expand('%') " 显示完整路径 [^3] :echo expand('%:t') " 仅显示文件名(不含路径)[^3] ``` - `%` 表示当前缓冲区文件名 - `:t` 修饰符去除路径保留文件名 #### 2. **插入模式直接插入** 在插入模式下: 1. 完整路径:按 `<C-R>%`(Ctrl+R 后输入 %) 2. 仅文件名:按 `<C-R>=expand("%:t")<CR>` [^3] #### 3. **寄存器查看** 在普通模式下: ```vim :reg % " 查看%寄存器的内容(即当前文件名)[^3] ``` - `%` 是特殊寄存器,始终存储当前文件名 #### 4. **状态栏显示** 在 `.vimrc` 中添加配置: ```vim set laststatus=2 " 始终显示状态栏 set statusline=%f " %f显示文件名 [^1] ``` 效果:`myfile.txt` 会持续显示在窗口底部 #### 5. **快捷键映射** 在 `.vimrc` 中添加: ```vim nnoremap <F2> :echo expand('%:t')<CR> " 按F2显示文件名 ``` 按 `F2` 即可在命令行区域显示当前文件名 > ⚠️ **路径修饰符说明** > - `%:p` 完整绝对路径 > - `%:h` 文件所在目录 > - `%:r` 不含扩展名的文件名 > - `%:e` 文件扩展名 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值