Emacs vs Vim: source lines of code compared

This page compares the source lines of code (SLOC) of emacs-mirror/emacs and vim/vim using cached OctoCounts reports. Code size is not code quality: a larger count only means more source material, not a better or worse project.

As of 2026-08-26, emacs-mirror/emacs contains 2,924,491 total lines (2,048,677 code) across 2,704 files, while vim/vim contains 1,571,479 total lines (1,224,926 code) across 3,221 files as of 2026-09-09. emacs-mirror/emacs is about 1.7x the size of vim/vim by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

Metricemacs-mirror/emacsvim/vim
Files2,7043,221
Total lines2,924,4911,571,479
Code lines2,048,6771,224,926
Comment lines585,428164,512
Blank lines290,386182,041
Languages counted1212

Top languages in emacs-mirror/emacs: Emacs Lisp (64.3% of code), C (20.1% of code), Lex (8.6% of code). Top languages in vim/vim: Vim Script (42.2% of code), C (34.0% of code), PO File (18.0% of code). C, C Header appear in both top language lists; Emacs Lisp, Lex, Objective-C appear only in emacs-mirror/emacs's top languages; Vim Script, PO File, Makefile appear only in vim/vim's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. emacs-mirror/emacs was counted at ref master (commit b28750b822dc) on 2026-08-26; vim/vim was counted at ref 1ed2ff77d8e936d67c7e984f32f4ebff590cbfd7 (commit 1ed2ff77d8e9) on 2026-09-09. See the counting methodology for ignored directories and analysis options.

Evidence and next steps:

Note: code size is not code quality. OctoCounts only reports reproducible line counts and makes no claim that either project is better.

Compare FAQ

Which has more lines of code, emacs-mirror/emacs or vim/vim?

emacs-mirror/emacs has more code: 2,048,677 code lines versus 1,224,926 for vim/vim, about 1.7x as much, based on cached OctoCounts reports as of 2026-09-09.

Does more source lines of code mean more complexity?

Not necessarily. SLOC measures size, not complexity, quality, or maintainability. A larger codebase can mean more features, more generated or vendored code, more verbose language idioms, or more tests — none of which imply the code is harder to work with. Use SLOC to gauge the scale of what you'd be reading or maintaining, not as a quality signal for emacs-mirror/emacs, vim/vim, or any repository.

How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. emacs-mirror/emacs was counted at ref master (commit b28750b822dc) on 2026-08-26; vim/vim was counted at ref 1ed2ff77d8e936d67c7e984f32f4ebff590cbfd7 (commit 1ed2ff77d8e9) on 2026-09-09. See the counting methodology for ignored directories and analysis options.

Can I compare a different branch, tag, or commit?

Yes. This page shows the default branch for each repository. Use the interactive comparison tool to pick any public GitHub repository, branch, tag, or commit SHA for both sides and get a fresh side-by-side report.