[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
it-tricks [2017/10/16 17:58]
popel moved to [[:grid]]
it-tricks [2017/10/17 13:24]
popel
Line 8: Line 8:
   * **vim**: Ondřej Bojar, Ruda Rosa, Milan Straka (C++ completion, Python completion, asynchronous make), ...   * **vim**: Ondřej Bojar, Ruda Rosa, Milan Straka (C++ completion, Python completion, asynchronous make), ...
   * **emacs**: ?   * **emacs**: ?
 +  * **nano**:
   * **atom**: Martin Popel   * **atom**: Martin Popel
 +  * **Kate**: Jonáš Vidra
 +  * **PyCharm**: Petr Bělohlávek
  
 ===== Bash ===== ===== Bash =====
   * Use Bash auto-completion (''source /etc/bash_completion''). Some tools have plugins, e.g. many [[https://metacpan.org/pod/Bash::Completion|Perl tools]].   * Use Bash auto-completion (''source /etc/bash_completion''). Some tools have plugins, e.g. many [[https://metacpan.org/pod/Bash::Completion|Perl tools]].
   * ''export HISTCONTROL=ignoreboth'' results in bash history ignoring duplicate entries and entries starting with a space.   * ''export HISTCONTROL=ignoreboth'' results in bash history ignoring duplicate entries and entries starting with a space.
-  * See ''/ha/home/bojar/diplomka/granty/cracker-2015/mtm-2016-organization/accounts-mtm16/bash-profile-for-ufal-accounts'' for: + 
-    * bash history local in the current directory+==== Directory-local Bash history ==== 
 +  Ondřej Bojar prefers to store the history in each directory in ''.history-bojar''See ''/home/bojar/diplomka/granty/cracker-2015/mtm-2016-organization/accounts-mtm16/bash-profile-for-ufal-accounts'' 
 +    * Note that this creates the ".history-your-name" wherever you have write access and some ÚFALers are not happy with this. In addition everyone sees what you did (this may be useful, but be careful). 
 +  * Ondřej Dušek (''/home/odusek/.bashrc'') uses a variant more friendly to others, which saves the histories in his home (but does not handle renamed directories):<code> 
 +if [ -z "$USER" ]; then 
 +    export USER=`whoami` 
 +fi 
 + 
 +# Store all history with times and directories 
 +function store_history () {   
 +    history 1 | awk '($2 !~ "^[mr]?cd[0-9a-z]?$") {$1="_T="strftime("%Y%m%d_%H:%M:%S_") PROCINFO["ppid"] "_PWD="  ENVIRON["PWD"] "\t"; $2=gensub("^_T=[-_0-9:]*[ \t]* *", "", 1, $2); $2=gensub("^_P=[^ \t]* *", "", 1, $2); print;}' >> ~/.history-all-$USER 
 +
 +export PROMPT_COMMAND="store_history" 
 + 
 +# Grep history 
 +function dhist (){ 
 +    DIR=`pwd` 
 +    command grep "_PWD=$DIR"$'\t'".*$@" ~/.history-all-$USER | tail -n 30 
 +
 + 
 +function hist (){     
 +    if [ "$#" -eq 0 ]; then 
 +        tail -n 30 ~/.history-all-$USER 
 +    else 
 +        command grep "$@" ~/.history-all-$USER | tail -n 30 
 +    fi 
 +
 +</code> 
 + 
 +==== Colorful manpages ==== 
 +Add this to your .bashrc (tested on .zshrc). Colors can be easily customized. 
 + 
 +<code> 
 +man () { 
 +        env LESS_TERMCAP_mb=$'\E[01;31m'
 +        LESS_TERMCAP_md=$'\E[01;38;5;74m'
 +        LESS_TERMCAP_me=$'\E[0m'
 +        LESS_TERMCAP_se=$'\E[0m'
 +        LESS_TERMCAP_so=$'\E[38;5;246m'
 +        LESS_TERMCAP_ue=$'\E[0m'
 +        LESS_TERMCAP_us=$'\E[04;38;5;146m'
 +        man "$@" 
 +
 +</code> 
 + 
 ===== Git ===== ===== Git =====
   * [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]] shows e.g. the current branch and status. Martin Popel prefers to configure it (in bashrc) with   * [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]] shows e.g. the current branch and status. Martin Popel prefers to configure it (in bashrc) with
Line 25: Line 73:
   * read https://guides.github.com/, understand [[https://guides.github.com/introduction/flow/|GitHub flow]], check [[https://services.github.com/on-demand/resources/learning-path/|GitHub training]]   * read https://guides.github.com/, understand [[https://guides.github.com/introduction/flow/|GitHub flow]], check [[https://services.github.com/on-demand/resources/learning-path/|GitHub training]]
   * learn [[https://help.github.com/articles/using-keyboard-shortcuts/|GitHub keyboard shortcuts]], esp. "y" for permalink to a given line (line range) in source codes   * learn [[https://help.github.com/articles/using-keyboard-shortcuts/|GitHub keyboard shortcuts]], esp. "y" for permalink to a given line (line range) in source codes
 +
 +
 +===== Plots, vector graphic =====
 +  * [[http://www.gnuplot.info/|gnuplot]]
 +  * [[https://seaborn.pydata.org/|seaborn]] based on matplotlib (Python)
 +  * [[https://inkscape.org/en/|inkscape]] manually draw vector graphic (or poster)
 +  * [[https://en.wikibooks.org/wiki/LaTeX/PGF/TikZ|TikZ]] great for LaTeX/Beamer, offers many "plugins"
 +    * [[http://pgfplots.sourceforge.net/|pgfplots]]
 +    * [[http://mirrors.ctan.org/graphics/pgf/contrib/tikz-dependency/tikz-dependency-doc.pdf|tikz-dependency]] dependency trees (in one line)
 +    * [[http://mirrors.ctan.org/graphics/pgf/contrib/tikz-qtree/tikz-qtree-manual.pdf|tikz-qtree]] classical trees (constituency, but with some hacks even dependency)
 +
 +===== LaTeX, pdf =====
 + * [[http://mg.readthedocs.io/latexmk.html|latexmk]] can be used with ''-pdf -pvc'', so whenever you save a ''tex'' file, the corresponding ''pdf'' will be regenerated (and your pdf viewer will refresh). Other useful options are ''-interaction=nonstopmode -synctex=1'', see e.g. [[https://tex.stackexchange.com/questions/118489/what-exactly-is-synctex|synctex]]
 +  * [[https://www.pdflabs.com/docs/pdftk-cli-examples/|pdftk]] for merging and splitting pdf files (and much more) from the command line
 +  * use [[https://tex.stackexchange.com/questions/23104/using-and-interpreting-pdffonts|pdffonts]] to check if all fonts in your pdf are //embedded// (only the used subset).
 +  * <code>gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=CompressedWithEmbeddedFonts.pdf Original.pdf</code>
 +  * http://ufal.mff.cuni.cz/~popel/latex.pdf other hints (mostly for newbies) in Czech
 +
 +
  
 ===== Other ===== ===== Other =====
Line 33: Line 100:
   * Ondřej Bojar has implemented many [[http://www1.cuni.cz/~obo/textutils/|Text utils]], which he likes to use in his scripts and advises his students to do so as well.   * Ondřej Bojar has implemented many [[http://www1.cuni.cz/~obo/textutils/|Text utils]], which he likes to use in his scripts and advises his students to do so as well.
     * The web versions of the text utils are often older than the ones in ''/home/bojar/tools/vimtext'' and ''/home/bojar/tools/shell''     * The web versions of the text utils are often older than the ones in ''/home/bojar/tools/vimtext'' and ''/home/bojar/tools/shell''
 +  * [[https://en.wikipedia.org/wiki/Shuf|shuf]] shuffle lines randomly (or in a given order with ''--random-source'')
  

[ Back to the navigation ] [ Back to the content ]