| 
					
				 | 
			
			
				@@ -0,0 +1,87 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Script for using ViM as a PAGER. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Based on Bram's less.sh. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Version 1.4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# git://github.com/rkitover/vimpager.git 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+file="$@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ -z "$file" ]; then file="-"; fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if uname -s | grep -iq cygwin; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cygwin=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+elif uname -s | grep -iq linux; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linux=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+elif uname -s | grep -iq sunos; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    solaris=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bsd=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+less_vim() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    vim -R \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'let no_plugin_maps = 1' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'set scrolloff=999' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'runtime! macros/less.vim' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'set foldlevel=999' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'set mouse=h' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'set nonu' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    -c 'nmap <ESC>u :nohlsearch<cr>' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "$@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+do_ps() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ $solaris ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -u `id -u` -o pid,comm= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif [ $bsd ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -U `id -u` -o pid,comm= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps fuxw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+pproc() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ $linux ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 -o comm= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif [ $cygwin ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 | sed -e 's/^I/ /' | grep -v PID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 -o comm= | grep -v PID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ppid() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ $linux ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 -o ppid= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif [ $cygwin ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 | sed -e 's/^I/ /' | grep -v PID | awk '{print $2}' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ps -p $1 -o ppid= | grep -v PID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Check if called from man, perldoc or pydoc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if do_ps | grep -q '\(py\(thon\|doc\|doc2\)\|man\|perl\(doc\)\?\([0-9.]*\)\?\)\>'; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    proc=$$ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while next_parent=`ppid $proc` && [ $next_parent != 1 ]; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if pproc $next_parent | grep -q 'man\>'; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cat $file | sed -e 's/\[[^m]*m//g' | sed -e 's/.//g' | less_vim -c 'set ft=man' -; exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        elif pproc $next_parent | grep -q 'py\(thon\|doc\|doc2\)\>'; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cat $file | sed -e 's/\[[^m]*m//g' | sed -e 's/.//g' | less_vim -c 'set ft=man' -; exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        elif pproc $next_parent | grep -q 'perl\(doc\)\?\([0-9.]*\)\?\>'; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cat $file | sed -e 's/.//g' | less_vim -c 'set ft=man' -; exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proc=$next_parent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+less_vim "$file" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# CONTRIBUTORS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Rafael Kitover 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Antonio Ospite 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Jean-Marie Gaillourdet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Perry Hargrave 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Koen Smits 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Ivan S. Freitas <ivansichfreitas@gmail.com> 
			 |