No edit summary |
(Keep shebang line) |
||
(9 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{review}} |
{{review}} |
||
+ | {{TipImported |
||
− | {{Tip |
||
|id=451 |
|id=451 |
||
+ | |previous=450 |
||
− | |title=KDE Konsole renameSession to edited file name |
||
+ | |next=452 |
||
− | |created=March 28, 2003 |
+ | |created=March 28, 2003 |
|complexity=intermediate |
|complexity=intermediate |
||
− | |author=warb |
+ | |author=warb |
|version=6.0 |
|version=6.0 |
||
|rating=37/15 |
|rating=37/15 |
||
+ | |category1=Integration |
||
− | |text= |
||
+ | |category2= |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | .vimrc file to name the session after the edited file. |
||
⚫ | |||
+ | In KDE4 the qdbus will set the Konsole tab name. Create a script in your $PATH(for example: $HOME/bin) named as update_konsole_tab: |
||
+ | <pre> |
||
+ | #/bin/sh |
||
+ | if [ "CHK$KONSOLE_DBUS_SESSION" == "CHK" ];then |
||
+ | exit 0 |
||
+ | fi |
||
+ | OLD_FORMAT="%d : %n" |
||
+ | QDBUS_COMMAND="qdbus org.kde.konsole $KONSOLE_DBUS_SESSION" |
||
+ | if [ "CHK$1" == "CHKset" ];then |
||
⚫ | |||
+ | $QDBUS_COMMAND org.kde.konsole.Session.setTabTitleFormat \ |
||
+ | 0 "$2" 1>/dev/null 2>/dev/null |
||
+ | fi |
||
+ | if [ "CHK$1" == "CHKclean" ];then |
||
⚫ | |||
+ | $QDBUS_COMMAND org.kde.konsole.Session.setTabTitleFormat \ |
||
+ | 0 "$OLD_FORMAT" 1>/dev/null 2>/dev/null |
||
+ | fi |
||
+ | </pre> |
||
+ | Then add these lines into your [[vimrc]]: |
||
⚫ | |||
+ | <pre> |
||
⚫ | |||
+ | autocmd BufReadPost * :silent !update_konsole_tab set 'vim: %:t' |
||
+ | autocmd VimLeavePre * :silent !update_konsole_tab clean |
||
+ | </pre> |
||
⚫ | |||
⚫ | |||
⚫ | |||
+ | <pre> |
||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
+ | </pre> |
||
⚫ | |||
+ | <pre> |
||
− | |||
⚫ | |||
− | me again |
||
⚫ | |||
− | , March 28, 2003 13:04 |
||
⚫ | |||
⚫ | |||
+ | </pre> |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
− | so I set my .vimrc with this: |
||
⚫ | |||
⚫ | |||
⚫ | |||
This with the .tcshrc mod will give you your name on machine Viming : filename : date and time. |
This with the .tcshrc mod will give you your name on machine Viming : filename : date and time. |
||
− | lamba--AT--faatc.com |
||
− | , April 8, 2003 23:19 |
||
---- |
---- |
||
⚫ | |||
− | great tip! |
||
⚫ | |||
+ | <pre> |
||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
+ | # |
||
⚫ | |||
+ | # |
||
+ | # |
||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # |
||
⚫ | |||
+ | </pre> |
||
⚫ | |||
− | gregf--AT--bigtimegeeks.com |
||
− | , April 9, 2003 9:31 |
||
− | ---- |
||
− | Is there a smart way to set the title of the session to QString::NULL if on |
||
− | leaves vim? Because with this DCOP-call the session will keep the name |
||
− | until you a) close the session or b) edit another file in vim... |
||
⚫ | |||
− | cniehaus--AT--kde.org |
||
⚫ | |||
− | , April 11, 2003 15:11 |
||
⚫ | |||
− | ---- |
||
− | Hi, |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
− | # |
||
⚫ | |||
− | # |
||
− | # |
||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | # |
||
⚫ | |||
⚫ | |||
⚫ | |||
− | I think. |
||
− | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
modify/customize everything with dot files; this way I learn more by doing it myself. |
modify/customize everything with dot files; this way I learn more by doing it myself. |
||
⚫ | |||
− | lamba--AT--faatc.com |
||
− | , April 11, 2003 22:53 |
||
− | ---- |
||
− | If you want to change you tab labels in KDE's konsole check this out: |
||
− | http://www.kde-look.org/content/show.php?content=6976 |
||
− | |||
− | semovrs--AT--concord.edu |
||
− | , February 18, 2006 18:06 |
||
− | ---- |
||
− | <!-- parsed by vimtips.py in 0.456010 seconds--> |
Revision as of 09:22, 14 October 2014
created March 28, 2003 · complexity intermediate · author warb · version 6.0
In KDE3 the renameSession will set the Konsole name. Add this to your vimrc file to name the session after the edited file.
autocmd BufReadPost * :silent !dcop $KONSOLE_DCOP_SESSION renameSession %
This one set the title to the current working dirctory when you leave vim.
autocmd VimLeavePre * :silent !dcop $KONSOLE_DCOP_SESSION renameSession $PWD
In KDE4 the qdbus will set the Konsole tab name. Create a script in your $PATH(for example: $HOME/bin) named as update_konsole_tab:
#/bin/sh if [ "CHK$KONSOLE_DBUS_SESSION" == "CHK" ];then exit 0 fi OLD_FORMAT="%d : %n" QDBUS_COMMAND="qdbus org.kde.konsole $KONSOLE_DBUS_SESSION" if [ "CHK$1" == "CHKset" ];then $QDBUS_COMMAND org.kde.konsole.Session.setTabTitleFormat \ 0 "$2" 1>/dev/null 2>/dev/null fi if [ "CHK$1" == "CHKclean" ];then $QDBUS_COMMAND org.kde.konsole.Session.setTabTitleFormat \ 0 "$OLD_FORMAT" 1>/dev/null 2>/dev/null fi
Then add these lines into your vimrc:
autocmd BufReadPost * :silent !update_konsole_tab set 'vim: %:t' autocmd VimLeavePre * :silent !update_konsole_tab clean
Comments
Dan thanks for the vim help, however I do not use konsole. So I modified my .tcshrc with this:
# This makes it possible to make vim automagically set the date and time # in the title bar. # alias vimdate '/bin/date "+%A, %B %e, %Y Time: %H:%M"' setenv mydate `vimdate` alias vi 'setenv mydate `vimdate` ; /usr/bin/vim \!* ; cd `pwd`'
then I read the how to for setting or unsetting the title in vim, so I set my .vimrc with this:
:auto BufEnter * let &titlestring = $USER . " on " . hostname() . " : \ Viming: " . expand("%:p") . " Date: " . $mydate :set title titlestring=%<%F%=%l/%L-%P titlelen=70
This with the .tcshrc mod will give you your name on machine Viming : filename : date and time.
I might not always use kde, so I have my xterm do my title work for me. My .tcshrc for my xterms, looks like this:
### --------------------------------------------------------------- # This is where cd is overloaded and it adjusts the prompt. # # cds: change directory hybrid queueish stack set cds = ( $HOME ) # alias cd 'if ( ${#cds} >= 4 ) shift cds;\\ chdir \!*;\\ setprompt;\\ set cds = ( $cds $cwd );\\ echo $cds' # alias lastdir 'if ( ${#cds} <= 1 ) set cds = ( $cds $cwd );\\ @ idx = ${#cds} - 1;\\ chdir $cds[$idx];\\ setprompt;\\ set cds = ( $cds[1-$idx] );\\ echo $cds;\\ unset idx' # setprompt # ### --------------------------------------------------------------- # # ### --------------------------------------------------------------- # This is where the title bar of the xterm is set. # alias date '/bin/date "+%A, %B %e, %Y Time: %H:%M:%S"' # if ($?tcsh) then # set prompt="$host{`whoami`}%\!: " # if ($?term) then alias cwdcmd 'echo -n "^[]2;" "$USER on $host : $cwd `date`^G"' cwdcmd endif #else # regular csh # set prompt="$hostnm{`whoami`}\!: " # if ($term == xterm) echo -n "^[]0;$hostnm^G" endif # ### ---------------------------------------------------------------
Note: In the alias cwdcmd line, after the `echo -n "^[]2;" the ^[ is a control h, I think.
This is why I aliases vi to 'setenv mydate `vimdate` ; /usr/bin/vim \!* ; cd `pwd` When I do a cd `pwd` it automatically changes my title bar to:
me on machine : $PWD day, date, Time: time.
This works with xterm, aterm, wterm, kterm, rxvt, and konsole. Please feel free to email me if you would like me to send you a copy.
Also I run Debian, so there for everything is generic; so I had to figure out how to modify/customize everything with dot files; this way I learn more by doing it myself.
: