Iain Patterson [Tue, 28 Jan 2014 18:13:15 +0000 (18:13 +0000)]
Sign precedence.
Signs listed later take precedence because each sign is drawn over the
top of existing ones. Rearrange the list such that more important signs
such as the last changed line appear later in the list and hence are
drawn later.
Iain Patterson [Tue, 28 Jan 2014 17:50:44 +0000 (17:50 +0000)]
More readable sign initialisation code.
Not much more, admittedly.
Iain Patterson [Mon, 27 Jan 2014 16:59:04 +0000 (16:59 +0000)]
More incorrect uses of noremap.
Normal commands should be mapped with nnoremap not noremap.
Iain Patterson [Mon, 27 Jan 2014 16:55:23 +0000 (16:55 +0000)]
Vim 7.4 won't let us quit windows from a script.
The Perforce and Subversion commit and merge scripts want to quit when
the commit message window has been closed, since the only other window
shown really should be the diff.
Vim 7.4's paranoia about scripts closing windows make quitting tricky...
Iain Patterson [Mon, 27 Jan 2014 14:40:23 +0000 (14:40 +0000)]
Script to get environment variables for a process.
Use "readenv <pid>" to get the full environment block for <pid>.
Use "readenv <pid> [<env> [<env> ...]]" to restrict output to the named
variables.
Iain Patterson [Mon, 27 Jan 2014 14:31:17 +0000 (14:31 +0000)]
Script to guess Red Hat machine's build date.
Querying RPM for the installation date of the basesystem package should
provide a decent approximation of the date the machine was (re)built.
Iain Patterson [Mon, 27 Jan 2014 14:01:04 +0000 (14:01 +0000)]
Text formatter plugin.
Iain Patterson [Mon, 27 Jan 2014 13:46:47 +0000 (13:46 +0000)]
gitv plugin.
Iain Patterson [Mon, 27 Jan 2014 13:50:31 +0000 (13:50 +0000)]
Fugitive plugin.
Git-related plugin for Vim. Needed for gitv plugin.
Iain Patterson [Sat, 16 Apr 2011 11:43:00 +0000 (12:43 +0100)]
Override "p4 diff" to handle change numbers.
Wrapper around "p4 diff" which detects use of the -c flag and calls
p4-diffchange, thus enabling uses such as "p4 diff -c 12345" which will
show diffs only for files opened in changelist 12345.
Iain Patterson [Thu, 6 Dec 2012 13:15:00 +0000 (13:15 +0000)]
Override Perforce typos.
Custom commands that override common typos "p4 intergrate" and "p4
oepned" to do the intended thing.
Iain Patterson [Fri, 24 Feb 2012 12:57:34 +0000 (12:57 +0000)]
Load matchit plugin where available.
Iain Patterson [Tue, 28 Jun 2011 10:40:13 +0000 (11:40 +0100)]
Map q to quit easily when submitting p4 and svn.
Iain Patterson [Fri, 15 Apr 2011 15:07:08 +0000 (16:07 +0100)]
Wrapper to use custom p4 scripts.
Script which allows overriding Perforce commands or adding new commands.
If the file opt/p4/p4-<command> exists then "p4 <command>" will run the
file in preference to the builtin command.
Source opt/p4/common to identify the arguments which should be passed to
p4 itself. They will be available in $p4opts. The command name will be
available in $p4command. Arguments to the command will be available in
the positional parameters as usual.
Three custom commands are included in this commit.
"p4 diffchange" does a diff of only files opened against the default
changelist or the changelist specified by the -c flag.
"p4 login" attempts to renew Kerberos credentials if SSO login is
enabled.
"p4 update" detects all new, delete or changed files, like "git -A" does.
Iain Patterson [Thu, 23 Jan 2014 15:29:18 +0000 (15:29 +0000)]
Symlink .fonts.conf.
The new standard location for user-specific fonts configuration is
.config/fontconfig/fonts.conf.
Iain Patterson [Sun, 29 Sep 2013 15:18:56 +0000 (16:18 +0100)]
tmux 1.8 changed how run-shell works.
Prior to tmux 1.8 all run-shell commands ran in the foreground and we
had to detach explicitly. From 1.8 onwards we can use the -b flag to
run a command in the background.
Ensure we run ktmux_helper in the appropriate way for the available tmux
version.
Iain Patterson [Thu, 23 Jan 2014 15:23:44 +0000 (15:23 +0000)]
Correctly use of nnoremap.
Some mappings which are only appropriate in normal mode were incorrectly
using noremap instead of the more appropriate nnoremap.
Iain Patterson [Thu, 23 Jan 2014 15:21:56 +0000 (15:21 +0000)]
Mappings for gundo plugin.
Toggle gundo window with \g.
Press r in the gundo window to fake reloading it by calling
GundoToggle() twice in succession.
Iain Patterson [Fri, 24 Feb 2012 12:59:42 +0000 (12:59 +0000)]
gundo plugin.
Iain Patterson [Mon, 20 Jan 2014 16:07:24 +0000 (16:07 +0000)]
Handle non-default XAUTHORITY.
Newer Fedora versions set XAUTHORITY to a file in /tmp. Not helpful in
an NFS environment. Not at all helpful when running sudo and finding
the XAUTHORITY file owned by root.
Iain Patterson [Fri, 4 Oct 2013 12:16:43 +0000 (13:16 +0100)]
Fixes for console mode vim on Windows.
Console vim running on windows supports UTF-8.
The vim which ships with GNU On Windows doesn't have the necessary
support files for syntax highlighting to work. Wrap "syn enable" in a
try..catch block so parsing .vimrc doesn't fail when run by GOW vim.
Iain Patterson [Wed, 2 Oct 2013 16:35:25 +0000 (17:35 +0100)]
Move plugin.
Move lines or blocks with alt+d/j/k/u.
Iain Patterson [Sun, 29 Sep 2013 15:09:25 +0000 (16:09 +0100)]
Environment variables for pdsh.
Options to use ssh without checking host public keys or forwarding
agents or displays.
Iain Patterson [Mon, 1 Jul 2013 13:45:54 +0000 (14:45 +0100)]
Semi-transparent border.
Set urxvt's borderColor to match its background.
Iain Patterson [Fri, 30 Aug 2013 09:01:45 +0000 (10:01 +0100)]
Set hidden option.
Remember the undo list for a buffer which was abandoned.
Iain Patterson [Mon, 5 Aug 2013 14:02:31 +0000 (15:02 +0100)]
Don't rely on tty.
The tty command may not always be available. Use the builtin test -t 0.
Iain Patterson [Tue, 22 Jun 2010 13:45:42 +0000 (14:45 +0100)]
Process dependencies in subdirectories.
This allows having, for example, a symlink to standard bashrc files
and local overrides.
Iain Patterson [Fri, 26 Feb 2010 09:27:16 +0000 (09:27 +0000)]
Look for .bashrc files in subdirectories.
Iain Patterson [Wed, 29 Jul 2009 13:51:39 +0000 (14:51 +0100)]
Clipboard plugin.
Not much use on Red Hat but works on Windows.
Iain Patterson [Sat, 29 Jun 2013 10:28:21 +0000 (11:28 +0100)]
Added compton configuration.
Iain Patterson [Thu, 13 Jun 2013 09:36:38 +0000 (10:36 +0100)]
Recognise DIR: cache collections when becoming.
The current ticket cache may be a collection. Look for the DIR: prefix
as well as FILE:.
Iain Patterson [Tue, 11 Jun 2013 14:20:24 +0000 (15:20 +0100)]
Prevent hang.
If ls produced no output the grep could hang.
Iain Patterson [Thu, 13 Jun 2013 09:29:16 +0000 (10:29 +0100)]
Allow specifying a match in program output.
Use the -g flag to specify a string to grep for instead of just the
program name.
Iain Patterson [Thu, 13 Jun 2013 09:28:25 +0000 (10:28 +0100)]
Tidyup.
Don't treat -? as a glob.
Print options in alphabetical order.
Use \b instead of space to match the program name.
Iain Patterson [Mon, 22 Apr 2013 09:04:21 +0000 (10:04 +0100)]
Added localvimrc plugin.
Parse any .lvimrc files in the current or parent directories when
starting vim.
Iain Patterson [Sat, 2 Mar 2013 00:48:47 +0000 (00:48 +0000)]
Strip symlinks from PATH.
Remove entries from PATH etc if they are symlinks to other entries
which already exist. Useful on Solaris or Fedora 17+ where, for
example, /bin is a symlink to /usr/bin.
Iain Patterson [Fri, 30 Apr 2010 13:08:45 +0000 (14:08 +0100)]
KRB5CCNAME fixes.
Always pass KRB5CCNAME to became. Though many vendors' sudo
configurations will retain it in the environment there is no guarantee
that will happen.
Canonicalise KRB5CCNAME which may sometimes be set to a file path
without the FILE: prefix, eg by krenew.
Iain Patterson [Tue, 22 Jan 2013 17:39:13 +0000 (17:39 +0000)]
Separate bindings to enter and leave mouse mode.
As of tmux 1.7 the mouse-mode option can take one of three possible values,
namely on/off/copy-mode. We can no longer use ^m to toggle between all
mouse options because toggling only works for on/off values. Instead use
^m to enable mouse options with copy mode, and alt-m to disable the options.
Iain Patterson [Sat, 15 Dec 2012 01:59:55 +0000 (01:59 +0000)]
Support tmux 1.7.
Iain Patterson [Mon, 22 Oct 2012 21:53:22 +0000 (22:53 +0100)]
Pentadactyl deprecated noremap.
Iain Patterson [Mon, 22 Oct 2012 21:52:19 +0000 (22:52 +0100)]
Fix test for Mac.
.pentdactylrc no longer recognises navigator.userAgent but
content.navigator.userAgent works.
Iain Patterson [Mon, 22 Oct 2012 21:17:01 +0000 (22:17 +0100)]
Try to handle unrecognised terminals.
Fall back to various degrees of xterm if the inherited TERM variable
isn't usable.
This should be thought of as a last resort. In general it is a bad idea
to try to overrule TERM.
Iain Patterson [Mon, 22 Oct 2012 21:02:58 +0000 (22:02 +0100)]
Light blue active window border.
Iain Patterson [Fri, 14 Sep 2012 14:58:41 +0000 (15:58 +0100)]
Script to set urxvt background colour on the fly.
Iain Patterson [Fri, 14 Sep 2012 14:58:22 +0000 (15:58 +0100)]
SSHTERM background for ads.iain.cx.
Iain Patterson [Fri, 14 Sep 2012 14:53:17 +0000 (15:53 +0100)]
Support urxvt with a 32-bit RGBA visual.
Use a semi-transparent background for urxvt where possible.
For it to work we need a compositing manager running on a display with
support for at least one 32-bit visual and a window manager which
respects the depth, visual and colormap supplied by urvxt.
Iain Patterson [Thu, 3 May 2012 14:12:07 +0000 (15:12 +0100)]
Fix corruption in fonts.conf and prefer DejaVu fonts.
Iain Patterson [Thu, 3 May 2012 14:08:55 +0000 (15:08 +0100)]
Use bash builtin to check for tty.
Iain Patterson [Thu, 1 Mar 2012 12:46:45 +0000 (12:46 +0000)]
Use ^o to switch back to the last pane.
Switching back and forth between panes is done often enough to justify an
easier way than reaching for the six key.
Iain Patterson [Tue, 28 Feb 2012 15:16:35 +0000 (15:16 +0000)]
Use alt-underscore to monitor a pane for silence.
Iain Patterson [Fri, 24 Feb 2012 13:55:56 +0000 (13:55 +0000)]
Support tmux 1.6.
Iain Patterson [Fri, 20 Jan 2012 11:32:29 +0000 (11:32 +0000)]
Use ^w-^ to switch to the last used window.
For consistency with tmux, which uses ^ to switch to the last pane,
which is in itself for consistency with vim using ^ to switch to
the last buffer.
Default vim action would be to split and edit the last buffer. That's
sometimes useful but overall less useful than switching windows.
Iain Patterson [Fri, 20 Jan 2012 11:44:41 +0000 (11:44 +0000)]
Whitespace.
Iain Patterson [Fri, 20 Jan 2012 11:50:34 +0000 (11:50 +0000)]
Reuse windows when using sbuffer.
Iain Patterson [Thu, 8 Dec 2011 13:19:55 +0000 (13:19 +0000)]
Highlight unwanted whitespace.
Use a slightly modified version of the script from
http://vim.wikia.com/wiki/Highlight_unwanted_spaces to flag whitespace
at the end of a line.
Iain Patterson [Fri, 20 Jan 2012 11:23:28 +0000 (11:23 +0000)]
Allow specifying path to tmux socket.
Use -S to pass the socket path flag to tmux.
Iain Patterson [Wed, 19 Oct 2011 10:01:53 +0000 (11:01 +0100)]
Change layout keys.
Various changes to which keys select which layout.
Iain Patterson [Mon, 5 Sep 2011 15:11:00 +0000 (16:11 +0100)]
Defeat various key repeating niggles.
Don't allow key repeating for unshifted keys and arrows.
Switch to pane left with ^p l.
Start typing ls.
Find yourself two panes left.
But allow control-alt-h/j/k/l to resize windows with repeats.
Using alt on its own doesn't work because terminal funkiness will lead
tmux to think, for example, alt-k was pressed if ^p^k is quickly followed
by escape then ^k. This can (and does) happen when switching to a pane
and immediately recalling the previous history entry.
Iain Patterson [Mon, 19 Dec 2011 11:49:57 +0000 (11:49 +0000)]
Allow X multiplier for usize.
Use X3 to use the same multiplier for both width and height.
Iain Patterson [Thu, 8 Dec 2011 13:24:39 +0000 (13:24 +0000)]
Latest rxvt-unicode terminfo.
Iain Patterson [Wed, 7 Dec 2011 13:38:49 +0000 (13:38 +0000)]
Make sure escape sequences don't leak into the prompt.
If some terminal formatting escape sequence was used by an application
prior to returning to the prompt, the first parts of the prompt might
not be drawn correctly. Force a reset before drawing anything.
Iain Patterson [Wed, 2 Nov 2011 11:25:50 +0000 (11:25 +0000)]
Don't override terminal name for urxvt.
Use the default rxvt-unicode with its associated terminfo entry.
Iain Patterson [Tue, 1 Nov 2011 17:49:01 +0000 (17:49 +0000)]
Mild OCD.
Iain Patterson [Tue, 1 Nov 2011 17:46:57 +0000 (17:46 +0000)]
Support font changing in tmux 1.5.
As of version 1.5 tmux supports sending raw escape sequences to the
underlying terminal. The sequences must be prefixed by the magic
sequence ESC P tmux ; ESC.
Iain Patterson [Tue, 1 Nov 2011 17:28:10 +0000 (17:28 +0000)]
Removed obsolete aspect hack.
Iain Patterson [Tue, 1 Nov 2011 10:56:53 +0000 (10:56 +0000)]
Really fix KRB5CCNAME.
Pass KRB5CCNAME through to the failsafe kinit only if -c wasn't used.
Iain Patterson [Thu, 27 Oct 2011 09:51:30 +0000 (10:51 +0100)]
Don't eat KRB5CCNAME.
Iain Patterson [Fri, 7 Oct 2011 06:28:12 +0000 (07:28 +0100)]
Fix argument handling with kinit.
Use a function instead of an alias for kinit so arguments are not
eaten.
Iain Patterson [Wed, 5 Oct 2011 13:38:29 +0000 (14:38 +0100)]
Allow multiplier for usize.
Instead of entering an explicit number of rows or columns to usize,
allow, eg x2 or x3.
Iain Patterson [Wed, 5 Oct 2011 13:36:45 +0000 (14:36 +0100)]
Fixed virtualedit in status line.
Fixed check for virtualedit being active.
Show virtual column iff it is different from cursor column.
Iain Patterson [Wed, 5 Oct 2011 13:20:11 +0000 (14:20 +0100)]
kinit failsafe.
If PATH or LD_LIBRARY_PATH contained NFS-mounted directories and
Kerberos tickets had expired it would be impossible to run kinit.
Iain Patterson [Wed, 5 Oct 2011 13:03:00 +0000 (14:03 +0100)]
Latest bufexplorer plugin.
Recent versions of vim were printing annoying warnings about
the ActivateBuffer() function.
Iain Patterson [Mon, 5 Sep 2011 15:09:30 +0000 (16:09 +0100)]
Removed useless key binds.
Both l and ^l are bound later in the configuration file so there's
little point keeping them at the top.
Iain Patterson [Thu, 25 Aug 2011 09:58:22 +0000 (10:58 +0100)]
Disable menubar dragging in GTKv2 apps.
By default you can click in an application's menubar and drag to move
the window around.
Disable this behaviour by setting the "window-dragging" attribute of
GtkMenuBar widgets to 0.
Iain Patterson [Thu, 25 Aug 2011 09:54:53 +0000 (10:54 +0100)]
Allow GTK (v1 and v2) overrides.
Allow including a local GTKv1 theme by creating a symlink in ~/.themes
named "theme" which points to the theme directory (containing gtkrc).
Allow including a local GTKv2 theme by creating a symlink in ~/.themes
named "theme-2.0" pointing to the directory containing the v2 gtkrc.
Allow including local overrides in ~/.themes/override (resp.
override-2.0).
Also do the right thing for GNOME themes.
Iain Patterson [Mon, 22 Aug 2011 15:39:36 +0000 (16:39 +0100)]
Typo checking number of colours.
Iain Patterson [Sun, 7 Aug 2011 11:33:43 +0000 (12:33 +0100)]
Revamp pane and window swapping.
The rotate-window command isn't hugely useful so instead bind o to
"swap-pane -D" and O to "swap-pane -U" to swap the current pane with
the next (resp. previous) pane.
Bind w to prompt for a pane to swap with the current pane.
Bind W to prompt for a window to swap with the current window.
Iain Patterson [Sun, 7 Aug 2011 11:30:14 +0000 (12:30 +0100)]
Fix prompt for join-pane.
The argument to join-pane is a pane specifier. If no dot is used to
separate the window and pane parts, join-pane treats the argument as
a window and joins pane zero from that window.
Thus strictly speaking the pane part of the command prompt should be
shown as optional rather than the window part.
Iain Patterson [Sun, 7 Aug 2011 08:52:29 +0000 (09:52 +0100)]
Hotkeys to select windows numbered higher than 9.
Use Meta-n to select window n+10.
Iain Patterson [Sun, 7 Aug 2011 08:29:09 +0000 (09:29 +0100)]
Use choose-window to select windows.
The choose-window command previously didn't work so list-windows was
bound instead. Use choose-window now that it works properly.
Iain Patterson [Fri, 29 Jul 2011 12:18:50 +0000 (13:18 +0100)]
Support tmux 1.5.
Disable the new mouse features but allow them to be toggled on with C-m.
Teach the terminal how to be resized using the new tmux escape
sequences.
Iain Patterson [Fri, 15 Apr 2011 15:10:16 +0000 (16:10 +0100)]
Add an extra level of race avoidance.
Checking for a kinit child can introduce a race.
Iain Patterson [Fri, 29 Jul 2011 12:22:27 +0000 (13:22 +0100)]
Use Infinality font settings.
Requires freetype-freeworld from rpmfusion.
Iain Patterson [Fri, 29 Jul 2011 12:21:14 +0000 (13:21 +0100)]
Xterm scrollbar on the right.
Iain Patterson [Mon, 27 Jun 2011 12:53:31 +0000 (13:53 +0100)]
Support resizing in tmux 1.5.
As of version 1.5 tmux supports sending raw escape sequences to the
underlying terminal. The sequences must be prefixed by the magic
sequence ESC P tmux ; ESC.
Iain Patterson [Mon, 27 Jun 2011 10:46:26 +0000 (11:46 +0100)]
Append rather than replace terminal-overrides.
Iain Patterson [Fri, 15 Apr 2011 15:09:18 +0000 (16:09 +0100)]
Allow specifying path to tmux.
ktmux_helper needs to call tmux to open a new window for kinit but
it won't be able to if it doesn't know where tmux is.
Iain Patterson [Sat, 12 Mar 2011 09:48:25 +0000 (09:48 +0000)]
Alternate binding for split-pane.
Use ^\ to split like S. ie use P then \ while holding down control.
Iain Patterson [Sat, 20 Nov 2010 12:23:14 +0000 (12:23 +0000)]
More scrollback in tmux.
Iain Patterson [Sat, 12 Mar 2011 09:28:48 +0000 (09:28 +0000)]
Pentadactyl fixes.
Show tab numbers more clearly.
Always show the status line.
Iain Patterson [Fri, 25 Feb 2011 17:01:21 +0000 (17:01 +0000)]
Added .pentadactlyrc.
Switched from Vimperator.
Most things are the same but hlsearch is renamed to hlfind and
autocomplete is annoying.
Iain Patterson [Mon, 14 Feb 2011 11:28:28 +0000 (11:28 +0000)]
Fix tmux session alias and remove site-specific stuff.
The session alias should be defined when tmux is found but the last
change introduced a logic flaw whereby it instead gets defined when
krenew is found.
Some site-specific stuff (/comm/tmux) shouldn't have found its way
into master.
Iain Patterson [Fri, 4 Feb 2011 13:49:28 +0000 (13:49 +0000)]
Use ^p p to send ^p to tmux pane.
Iain Patterson [Fri, 28 Jan 2011 12:07:16 +0000 (12:07 +0000)]
Allow specifying paths to Kerberos helpers.
Use -I to tell ktmux_helper where to find kinit.
Use -L to tell ktmux_helper where to find klist.
Use -R to tell ktmux_helper where to find krenew.
If any of the above options are omitted, ktmux_helper will search
for the corresponding tool in the PATH.
Iain Patterson [Wed, 12 Jan 2011 11:14:25 +0000 (11:14 +0000)]
Swap round some tmux bindings.
Use h and l to switch left and right in panes; H and L to switch left
and right in windows.
Use J and K to switch up and down not top and bottom which only worked
when there was one pane on top or bottom, ie they broke if there were
two vertically-split panes on top.
These changes diverge from screen compatibility somewhat but
it was getting annoying to have to swap between using shift or not
when changing panes horizontally or vertically.
Also use 6 as another way to switch to the last pane and ^ to switch
to the last window, kinda like Vim.
Iain Patterson [Fri, 1 Oct 2010 12:55:27 +0000 (13:55 +0100)]
Use tmux for sessions.
Use tmux with the Kerberos helper for the session alias.
Iain Patterson [Thu, 6 Jan 2011 11:24:38 +0000 (11:24 +0000)]
Resize properly.
tput doesn't work inside a subshell. Use stty size.
Iain Patterson [Tue, 13 Jul 2010 09:32:49 +0000 (10:32 +0100)]
Set TERMINFO before calling tput.
grep.bashrc and ps1.bashrc call tput so add a dependency on TERM.bashrc.
Iain Patterson [Fri, 26 Nov 2010 15:38:49 +0000 (15:38 +0000)]
Relaunch kinit if necessary.
Instead of processing the USR1 signal once to trigger the launch
of kinit, check for a running kinit whose parent is ktmux_helper
when we get USR1. Do nothing if there is such a kinit but launch
one otherwise.
Iain Patterson [Thu, 9 Dec 2010 13:47:03 +0000 (13:47 +0000)]
Fixed override of KRB5CCNAME when attaching.
Because KRB5CCNAME was set in update-environment, when attaching
to a running session the saved KRB5CCNAME would be replaced with
that from the attaching user. This conflicts with the cache used
by ktmux_helper.
Instead, use set-environment to put KRB5CCNAME in the session
environment and kinit with it before running tmux.