created 2005 · complexity basic · author Don Mitchell · version 6.0
In development it is common for a user to copy or rename a file name and then use that file name, without the full path and extension, as a classname within the file. One way to do this quickly is to use an abbreviation in insert mode. In the following example
,f is mapped as an abbreviation for the filename without the path and extension. Add the following lines to the .vimrc file to use the abbreviation:
" classname (the filename minus the path and extension) iab <buffer> <unique> ,f <c-r>=fnamemodify(getreg('%'), ':t:r')<CR>
<c-r>= is Control-R followed by the equal sign. This keystroke combination is very useful in input mode.
getreg() gets the contents of the
% register which has the filename.
:r is is a filename modifier that removes the path and the extension. To use this, while in input mode, type
,f followed by a space or the escape key to expand the name.
- :help filename-modifiers - More information on Filename Modifiers