I have been using w3m for a couple of weeks and am convinced that it is my preferred text browser - with one exception.

Is there any way to yank URLs to the clipboard without using the mouse?

I have looked through the manual and, using the default keybindings, there doesn't appear to be any documented way to do this.

Has anyone developed a script to work around this?


Set the “External Browser” option to

sh -c 'printf %s "$0" | xsel'

You can use xsel -b to use the clipboard instead of the primary selection. An alternative to xsel is xclip (xclip for the primary selection, xclip -selection CLIPBOARD for the clipboard).

In ~/.w3m/config, that's the extbrowser setting.

Then press M to copy (yank) the URL of the current page, or ESC M to copy the URL of the link under the cursor.

You can use the second or third external browser for that instead; then the key combination is 2 M or 3 M or 2 ESC M or 3 ESC M.

  • I don't know if you cooked that up on the spot or it is a (little) known workaround, but it is both elegant & effective. Thank you.
    – jasonwryan
    May 3 '11 at 23:33
  • I did. I hadn't realized this was so easy before your question spurred me into looking! Thank you. May 3 '11 at 23:43
  • Colour me impressed :) To put the finishing touches on, I mapped some more intuitive keybinds, (the functions are EXTERN & EXTERN_LINK) and now I am set...
    – jasonwryan
    May 4 '11 at 0:25
  • I think this won't work for magnet links, I am getting some Invalid directive errors.
    – Vignesh
    Oct 28 '18 at 19:13
  • Defining extbrowser ahead of time isn't required. If you run 2 ESC M or 3 ESC M when it isn't defined, it will prompt you for a command to run, which means you can run any program on the link. You could leave extbrowser 3 always open so as to have a command runner.
    – norcalli
    Apr 4 '19 at 10:26

Have you tried muennich/urxvt-perls? Awesome scripts that can let you select/open URLs, select/copy with keyboard, and handle copy/paste from clipboard. Awesome scripts!

  • Yes, I have been using Bert's perls for a few years now. They don't work in w3m, however.
    – jasonwryan
    May 20 '14 at 18:09

If I understand correctly, you need a terminal emulator with a keyboard shortcut to paste test. For example, in Konsole you can do it with Ctrl-Shift-V.


you can yank url to tmux or X11 clipboard

$EDITOR ~/.w3m/keymap

# EXTERN_LINK = under cursor
# EXTERN      = current page

# yank url to clipboard
keymap  yy      EXTERN_LINK 'tmux set-buffer'
keymap  YY      EXTERN      'tmux set-buffer'
keymap  yx      EXTERN_LINK 'printf %s | xsel -b'
keymap  YX      EXTERN      'printf %s | xsel -b'

usage e.g: go to a link and press yx to copy url to X11 clipboard

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.