---
name: "urxvt-selection-autotransform"
section: "1"
platform: "linux"
package: "rxvt-unicode"
version: "9.31-11"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/urxvt-selection-autotransform"
---

# urxvt-selection-autotransform(1)

automatically transform select text

## NAME

selection-autotransform - automatically transform select text

## DESCRIPTION

This selection allows you to do automatic transforms on a selection whenever a selection is made.

It works by specifying perl snippets (most useful is a single `"s///"` operator) that modify `$_` as resources:

```
   URxvt.selection-autotransform.0: transform
   URxvt.selection-autotransform.1: transform
   ...
```

For example, the following will transform selections of the form `"filename:number"`, often seen in compiler messages, into `vi +$filename` `$word`:

```
   URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/vi +$2 \\Q$1\\E\\x0d/
```

And this example matches the same,but replaces it with vi-commands you can paste directly into your (vi :) editor:

```
   URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
```

Of course, this can be modified to suit your needs and your editor :)

To expand the example above to typical perl error messages ("XXX at FILENAME line YYY."), you need a slightly more elaborate solution:

```
   URxvt.selection.pattern-0: ( at .*? line \\d+[,.])
   URxvt.selection-autotransform.0: s/^ at (.*?) line (\\d+)[,.]$/:e \\Q$1\E\\x0d:$2\\x0d/
```

The first line tells the selection code to treat the unchanging part of every error message as a selection pattern, and the second line transforms the message into vi commands to load the file.
