==About me==

Hi all,

My name is Andy Stewart (My Chinese name is 王勇) and I am an open sources programmer living and working in China.

I've used Gnu Emacs since 2007, I love it and use it for pretty much everything (programming, irc, music, file-manager, mail, newsgroup, wiki, notes... etc.). Almost anything that you can imagine.

I have signed the copyright document for the FSF so my contributions may be distributed accordingly.
Free feel to copy any code you like and don't need my permission, just enjoy! :)

==My Emacs Config/Extensions==
Note: many config and extensions in this page is too old, even not update since 2008, please find newest version code from git:
[https://github.com/manateelazycat/lazycat-emacs/tree/master/site-lisp LazyCatEmacs]

My emacs Video:
[http://www.youtube.com/watch?v=ZA3uuflGtk8 MyEmacs]

==Run any program in Emacs==
Please look [https://www.emacswiki.org/emacs/EmacsApplicationFramework EmacsApplicationFramework]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/browser.gif Browser]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/video_player.gif Video Player]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/pdf_viewer.gif Pdf Viewer]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/org_previewer.gif Org Previewer]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/markdown_previewer.gif Markdown Previewer]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/image_viewer.gif Image Viewer]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/camera.gif Camera]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/file_transfer.png File Transfer]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/file_uploader.png File Uploader]

* [https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/air_share.png Air Share]

==Packages==
* Standalone packages.

: Below are standalone packages, i will update them all the time.

** Part of Gnu Emacs.

*** [http://repo.or.cz/w/org-mode.git?a=blob_plain;f=lisp/org-w3m.el;hb=HEAD GIT:org-w3m.el] -- Copy and paste from [[emacs-w3m]] to [[OrgMode]].

** Not part of Emacs.
*** AutoInstall -- Download and install elisp package automatically. (Maintainer: [[rubikitch]]).

*** [[Yaoddmuse]] -- Edit and manage Oddmuse wikis (like EmacsWiki) page. (Maintainer: [[rubikitch]]).

*** OrgOddmuse -- Transform OrgMode text to Oddmuse Wiki format (see TextFormattingRules) for sharing. :)

*** [https://github.com/manateelazycat/aweshell Aweshell] -- Awesome shell to extension eshell.

*** [https://github.com/manateelazycat/color-rg color-rg] -- Search and refacotry code base on ripgrep.

*** [https://github.com/manateelazycat/awesome-tab awesome-tab] -- Provide an out of box configuration to use tabbar in Emacs.

*** [https://github.com/manateelazycat/awesome-tray awesome-tray] -- Hide mode-line, and display necessary information at right of minibuffer.

*** [https://github.com/manateelazycat/awesome-pair awesome-pair] -- Auto parenthesis pairing with syntax table.

*** [https://github.com/manateelazycat/insert-translated-name insert-translated-name] -- Ask me Chinese words and then insert translation as variable or function name.

*** [https://github.com/manateelazycat/cache-path-from-shell cache-path-from-shell] -- Provide a chache mechanism make sure exec-path-from-shell just execute once.

*** [https://github.com/manateelazycat/flex flex] -- It's a mode for flex files that provide better syntax highlight than flex-mode.el

*** [https://github.com/manateelazycat/bison bison] -- It's a mode for bison files that provide better syntax highlight than bison-mode.el

*** [https://github.com/manateelazycat/css-sort css-sort] -- Sort css attributes automatically.

*** MultiTerm -- Manages multiple terminal buffers

*** MultiShell -- Manages multiple shell buffers.

*** MultiScratch -- Manages multiple scratch buffers. 

*** MiniBufferTray -- New way to replace mode-line. ( Deserted, replace by [https://github.com/manateelazycat/awesome-tray awesome-tray] )

*** [[Paste2]] -- Send and get paste with paste2.org asynchronous, convenient for IRC communion.

*** ElispFormat -- Automatic format elisp code, not need format line by line.

*** ElispDepend -- Parse elisp file and generate depend information, convenient for elisp developer. (Maintainer: [TomBreton Tom Breton (Tehom)])

*** GnusSwitch -- Smart switch Gnus layout.

*** OneKey -- A new keystroke menu system, save your time and free your head! (Maintainer: [http://www.emacswiki.org/emacs/JoeBloggs JoeGloggs])

*** LazySearch -- A lazy search mode based on [[OneKey]]. (Maintainer: [http://www.emacswiki.org/emacs/JoeBloggs JoeGloggs])

*** [[Irfc]] -- [[RFC]] reader and downloader. (Maintainer: [[NielsWidger]])

*** ChmView -- CHM reader.

*** ThingEdit -- Copy and paste various object around point.

*** MailNotify --  Popup notify window when you have new mail.

*** GnusNotify -- Display gnus news notify information at mode-line.

*** ErcNickNotify -- Popup notify window when someone calls you in [[ERC]].

*** RcircNotify -- Popup notify window when someone calls you in rcirc.

*** NewstickerNotify -- Display newsticker notify information at mode-line.

*** [[Alarm]] -- Popup window with alarm message.

*** ShowHelp -- Popup help information for elisp symbol at cursor.

*** StripeBuffer -- Add stripes to any buffer. (Maintainer: sabof)

*** GnusSummaryStripe -- Make Gnus summary buffer with stripe color, based on [[StripeBuffer]].

*** LazySetKey -- Set keystroke binding lazily.

*** [[AutoScroll]] -- Scroll current buffer automatically.

*** [[Gotochar]] -- For fast jump character position you want.

*** [[Doi]] -- Do Or Insert, handy move in buffer that mix read-only and editable area.

*** [[Sdcv]] -- An interface for sdcv ([http://sourceforge.net/projects/stardict/ StartDict] console version).

*** [[Oicq]] -- An interface for OICQ, to talk QQ (A popular IM client in China) in Emacs.

*** DiredSort -- Sort dired files in various methods.

*** DiredOpen -- Open various files in dired.

*** [[Fullscreen]] -- Fullscreen support for Emacs.

*** [http://www.emacswiki.org/emacs/gtk2hs.el gtk2hs.el] -- Documentation convert tool for [http://www.mirrorservice.org/sites/www.haskell.org/gtk2hs/ gtk2hs].

*** [http://www.emacswiki.org/emacs/auto-save.el auto-save.el] -- Auto save file when emacs idle, instead default one.

*** [http://www.emacswiki.org/emacs/qml-mode.el qml-mode.el] -- Extension to support Qt [http://qt-project.org/doc/qt-5.0/qtqml/qtqml-index.html QML] files.

*** [http://www.emacswiki.org/emacs/window-number.el window-number.el] -- For fast switch in windows.

*** [http://www.emacswiki.org/emacs/helm-autoload-commands.el helm-autoload-commands.el] -- Search command, load library, execute command in runtime.

*** [http://www.emacswiki.org/emacs/helm-webkit.el helm-webkit.el] -- Search browse history of [http://www.emacswiki.org/emacs/WebKit emacs-webkit] .

*** [https://github.com/manateelazycat/company-english-helper Company-English-Helper] -- English helper base on Company interface.

* Enhanced packages.

: Below are enhanced packages, some packages need many depend libraries, so copy any code you like. :)

** Basic:

*** Lisp:basic-edit-toolkit.el -- My basic edit toolkit, have many useful functions.

*** Lisp:window-extension.el -- Some useful functions for window manipulation.

*** Lisp:buffer-extension.el -- Some enhanced functions for buffer manipulation.

*** Lisp:isearch-extension.el -- Some enhanced functions for [[IncrementalSearch]].

*** Lisp:thing-edit-extension.el -- Some enhanced functions for [[ThingEdit]].

*** Lisp:tabbar-extension.el -- Some enhanced functions for [[TabBarMode]].

*** Lisp:lazy-search-extension.el -- Some enhanced functions for [[LazySearch]] (Maintainer: [http://www.emacswiki.org/emacs/JoeBloggs JoeGloggs]).

*** Lisp:rect-extension.el -- Some enhanced functions for [[RectangleMark]].

*** Lisp:windresize-extension.el -- Some enhanced functions for WindowResize.

*** Lisp:doi-extension.el -- Some enhanced functions for [[Doi]].

*** Lisp:linum-extension.el -- Some enhanced functions for [http://www.emacswiki.org/emacs/LineNumbers#toc7 Linum].

** Notes:

*** Lisp:org-extension.el -- Some enhanced functions for [[OrgMode]].

** Programming:
*** Lisp:find-define.el -- Find definition for many programming language.

*** Lisp:auto-complete-extension.el -- Some enhanced module for [[AutoComplete]], including Haskell.

*** Lisp:auto-complete-clang-extension.el -- Extension for completion C/C++/Object-C .

*** Lisp:flymake-extension.el -- Some enhanced module and config (including Haskell, C, Java) for [[FlyMake]].

*** Lisp:eldoc-extension.el -- Highlight function argument with [[ElDoc]]. (Maintainer: [[rubikitch]]).

*** Lisp:speedbar-extension.el -- Some enhanced functions for [[SpeedBar]].

*** Lisp:paredit-extension.el -- Some enhanced functions for [[ParEdit]].

*** Lisp:shell-command-extension.el -- Some enhanced functions for [http://www.emacswiki.org/emacs/ExecuteExternalCommand shell-command].

*** Lisp:find-func-extension.el -- Find function, variable, face definition position, convenient for elisp developers.

*** Lisp:etags-extension.el -- Some enhanced functions for [[EmacsTags]].

*** Lisp:xgtags-extension.el -- Some enhanced functions for [http://www.mail-archive.com/help-global@gnu.org/msg00022/xgtags.el Xgtags].

*** Lisp:haskell-extension.el -- Some enhanced functions for [[HaskellMode]].

*** Lisp:moccur-extension.el -- Search symbol or input with current directory.

*** Lisp:projectile-rails-extension.el -- Some enhanced functions for [https://github.com/asok/projectile-rails ProjectileRails]

*** Lisp:python-extension.el -- Some enhanced functions for python mode.

*** Lisp:magit-extension.el -- Some enhanced functions for magit.

** [[Anything]]:

*** Lisp:anything-extension.el -- Some enhanced functions for [[Anything]], more extensions see Lisp:anything-config.el.

*** Lisp:anything-auto-install.el -- Integrate AutoInstall with [[Anything]] for fast install elisp package.

*** Lisp:anything-yaoddmuse.el -- Integrate [[Yaoddmuse]] with [[Anything]] for fast manage Oddmuse Wikis (including EmacsWiki) page. This extension had obsolesce, please use Lisp:anything-config.el.

*** Lisp:anything-emms.el -- Integrate [[EMMS]] with [[Anything]], search music for play!

*** Lisp:anything-irfc.el -- Integrate [[Irfc]] with [[Anything]], for fast jump [[RFC]] content.

** File:

*** Lisp:dired-extension.el -- Some enhanced functions for [[DiredMode]].

*** Lisp:wdired-extension.el -- Some enhanced functions for [[WDired]].

** Music:

*** Lisp:emms-extension.el -- Many useful functions for [[EMMS]].

** Reader:

*** Lisp:doc-view-extension.el -- Some enhanced functions for [[DocViewMode]].
*** Lisp:pdf-tools-extension.el -- Some enhanced functions for [https://github.com/politza/pdf-tools pdf-tools].

** Elisp installer:

*** Lisp:auto-install-extension.el -- Some enhanced functions for [[AutoInstall]].

** Wiki:

*** Lisp:yaoddmuse-extension.el -- Some enhanced functions for [[Yaoddmuse]].

** IRC:

*** Lisp:erc-extension.el -- Some enhanced functions for [[ERC]].

*** Lisp:rcirc-extension.el -- Some enhanced functions for Rcirc.

*** Lisp:lisppaste-extension.el -- Some enhanced functions for Lisp:lisppaste.el

** Web:

*** Lisp:w3m-extension.el -- Many useful functions for [[emacs-w3m]].
*** Lisp:emmet-extension.el -- Some handy functions for [https://emmet.io/ Emmet]

** RSS and Atom:

*** Lisp:newsticker-extension.el -- Some enhanced functions for [[NewsTicker]].

** Newsgroup and Mail:

*** Lisp:gnus-extension.el -- Some enhanced functions for [[Gnus]].

** Input method:

*** Lisp:scim-bridge-extension.el -- Some enhanced functions for [http://www11.atwiki.jp/s-irie/pages/12.html scim-bridge.el]

*** Lisp:eim-extension.el -- Some enhanced functions for [[Eim]].

** Miscellaneous:

*** Lisp:festival-extension.el -- Some enhanced functions for Lisp:festival.el

*** Lisp:lazycat-toolkit.el -- Miscellaneous personal code, have many depend libraries, just copy you like :)

*** Lisp:one-key-config.el -- Some examples to use [[OneKey]].

*** Lisp:wget-extension.el -- Some enhanced functions for [[EmacsWget]].

==Miscellaneous==
===Configuration file===

: Below are part of my configuration files. 
: Just for example, i won't update those configuration files all the time.

* Startup:

** [[.emacs-AndyStewart.el | ~/.emacs]] -- My dot emacs file.

** Lisp:LazyCatFont.el -- Configuration file for font.

** Lisp:LazyCatDepend.el -- Configuration file for load depend libraries.

** Lisp:LazyCatRedefine.el -- Some functions redefine.

** Lisp:LazyCatKeystoke.el -- Keybinding for Emacs.

** Lisp:LazyCatSetup.el -- Setup initiation file.

** Lisp:LazyCatTheme.el -- Color theme for Emacs.

** Lisp:LazyCatStartup.el -- Startup configuration.

* Programming:

** Lisp:init-rtags.el -- Configure for [https://github.com/Andersbakken/rtags rtags]

** Lisp:init-golang.el -- Configure for [http://golang.org/ golang]

** Lisp:init-python.el -- Configure for Python.

** Lisp:init-qt.el -- Configure for Qt/C++.

** Lisp:init-jedi.el -- How to configure [http://tkf.github.io/emacs-jedi/ jedi] to make [[AutoComplete]] works perfect to Python.

** Lisp:init-helm.el -- Configure for [[Helm]].

** Lisp:init-ide.el -- Some configuration for IDE.

** Lisp:init-eldoc.el -- Configuration file for [[ElDoc]].

** Lisp:init-haskell.el -- Configuration file for [[HaskellMode]].

** Lisp:init-auto-complete.el -- Configuration file for [[AutoComplete]].

** Lisp:init-lsp.el -- Configuration file for [https://github.com/emacs-lsp/lsp-mode lsp-mode]

** Lisp:init-company-mode.el -- Configuration file for [[CompanyMode]].

** Lisp:init-flycheck.el -- Configuration file for [[FlyCheck]]

** Lisp:init-flymake.el -- Configuration file for [[FlyMake]].

** Lisp:init-paredit.el -- Configuration file for [[ParEdit]].

** Lisp:init-shell.el -- Configuration file for ShellMode.

** Lisp:init-yasnippet.el -- Configuration file for [[Yasnippet]].

** Lisp:init-hideshow.el -- Configuration file for [[HideShow]].

** Lisp:init-etags.el -- Configuration file for [[EmacsTags]].

** Lisp:init-string-inflection.el -- Configuration file for [https://github.com/akicho8/string-inflection StringInflection]

** Lisp:init-projectile-rails.el -- Configuration file for [https://github.com/asok/projectile-rails ProjectileRails]

** Lisp:init-lua.el -- Configuration file for [https://github.com/immerrr/lua-mode lua-mode]
                                                   
* File and Buffer:

** Lisp:init-dired.el -- Configuration file for [[DiredMode]].

** Lisp:init-ido.el -- Configuration file for [[InteractivelyDoThings]].

** Lisp:init-icicles.el -- Configuration file for [[Icicles]].
   
** Lisp:init-anything.el -- Configuration file for [[Anything]].

** Lisp:init-backup.el -- Some configuration for backup file.

** Lisp:init-auto-save.el -- Some configuration for auto save file.

** Lisp:init-visual-regexp.el -- Some configuration for [https://github.com/benma/visual-regexp.el VisualRegexp].

** Lisp:init-smex.el -- Some configuration for [https://github.com/nonsequitur/smex/ smex].

** Lisp:init-auto-sudoedit.el -- Some configuration for [http://elpa.zilongshanren.com/melpa/auto-sudoedit-20171227.156.el auto-sudoedit], prompt user input password before edit system file.

** Lisp:init-pyim.el Some configuration for [https://github.com/tumashu/pyim pyim]

* Spell Check:

** Lisp:init-ispell.el -- Configuration file for [[InteractiveSpell]].

** Lisp:init-predictive.el -- Configuration file for [[PredictiveMode]].

* Reader:
** Lisp:init-pdf-tools.el -- Configuration file for [https://github.com/politza/pdf-tools pdf-tools]

* Notes:

** Lisp:init-org.el -- Configuration file for [[OrgMode]].

* Music:

** Lisp:init-emms.el -- Configuration file for [[EMMS]].

* IRC:

** Lisp:init-erc.el -- Configuration file for [[ERC]].

** Lisp:init-rcirc.el -- Configuration file for [[rcirc]].

* Newsgroup and Mail:

** Lisp:init-gnus.el -- Configuration file for [[Gnus]].

** Lisp:init-bbdb.el -- Configuration file for [[BBDB]].

* RSS and Atom:

** Lisp:init-newsticker.el -- Configuration file for [[NewsTicker]].

* Web:

** Lisp:init-w3m.el -- Configuration file for [[emacs-w3m]].
** Lisp:init-web-mode.el -- Configuration file for [https://www.emacswiki.org/emacs/WebMode WebMode]

* Download:

** Lisp:init-wget.el -- Configuration file for [[EmacsWget]].

** Lisp:init-mldonkey.el -- Configuration file for [[MlDonkey]].
                                                   
* Miscellaneous:

** Lisp:init-misc.el -- Miscellaneous configuration file.

** Lisp:init-sdcv.el -- Configuration file for [[Sdcv]].
   
** Lisp:init-linum.el -- Configuration file for [http://www.emacswiki.org/cgi-bin/wiki/LineNumbers#toc4 linum-mode].

** Lisp:init-maxima.el -- Configuration file for [http://maxima.sourceforge.net/ Maxima].

** Lisp:init-time.el -- Time setup.

==Patch contributions==
** lsp-mode: Fixed crash bug of lsp--annotate https://github.com/emacs-lsp/lsp-mode/pull/420 
** magithub: Add magithub-browser-file https://github.com/vermiculus/magithub/pull/377
** magit: Add magit-submodule-remove https://github.com/magit/magit/pull/3583

==Reading Notes==
===Emacs Lisp Reference Manual===
: I have wrote Chinese notes about "Emacs Lisp Reference Manual (23.0.60.1)" at [http://www.emacswiki.org/emacs/?action=browse;id=EmacsLispManual_Chinese_Notes here].
: Chinese user can read those notes to study Emacs.
===Emacs Lisp Programming==
: I have wrote Chinese notes about "Emacs Lisp Programming" at [http://www.emacswiki.org/emacs?action=browse;id=EmacsLispProgramming_Chinese_Notes here].
===Programming in Emacs Lisp: An introduction===
: I have wrote Chinese notes about "Programming in Emacs Lisp: An introduction" at [http://www.emacswiki.org/cgi-bin/emacs/ProgrammingInEmacsLisp_Chinese_Notes here].

==Contact me==

: IRC: [::ManateeLazyCat].

: Mail: lazycat dot manatee at gmail dot com 

==Acknowledgments==
: Thanks to RichardRiley correct my English, advices and many other help. 
: Thanks to [[rubikitch]] for patches, advices and many other help. 
: Thanks to DrewAdams for improve documentation and advices.
: Thanks to Juanma Barranquero for patches, advices for [[Irfc]].
: ...
: And thanks all emacsers that provide help! :)

==Comment==
[new]
Welcome to the Wiki!  Thanks for sharing your large collection of Emacs libraries. -- AaronHawley
[new]
Thanks! -- AndyStewart

==I'm back==
Since 2008, I have used Haskell and C++ try to build a brand new Emacs for my need.

As an entrepreneur of [https://www.deepin.org/ Deepin], I was very, very tired. I didn't have time to write my favorite elisp code. 

Emacs guys, I'm back, as an elisp hacker.

[new]
欢迎回来!

----

CategoryHomepage
