tags: #vim #keymap #silent Remember that **mappings expand to keys that are then interpreted**. So think about *exactly what keys you would press*. Thus when you press `:w`, vim prepends `'<'>` so you find yourself at `:'<'>` and from there, to write normally, you would type `w !pc` and press enter. Thus to prepend `silent`, we would press `` followed by `silent ` followed by `` and then append our destination, which is `!` to pipe to a command followed by `pc`, which is my platform agnostic 'copy to clipboard' script. ``` vnoremap jc :wsilent !pc ``` I also have a `put` command which puts its standard input into a named file in `~/.jstore` from which I can recall it with `get`. (This allows for persistent named clipboards, at least for text.) For this it is necessary to type the target name, so `` is not added to the end. (Note there is a space after the put in the line below --- at some point I'll add functionality to PT that allows for code blocks to have options, one of which will turn spaces into some explicit symbol. Or perhaps put an explicit carriage return symbol on the end of a line. ``` vnoremap jp :wsilent !put ```