---
name: "gtags.conf"
section: "5"
platform: "linux"
package: "global"
version: "6.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gtags.conf"
---

# gtags.conf(5)

configuration data for GNU Global

## NAME

gtags.conf - configuration data for GNU Global

## SYNOPSIS

´gtags.conf´\
 ´~/.globalrc´\

## DESCRIPTION

´gtags.conf´ has configuration data for [**global**(1)](/global/1.md), [**gozilla**(1)](/gozilla/1.md), [**gtags**(1)](/gtags/1.md) and [**htags**(1)](/htags/1.md). They look for the following files in this order, and read from the first one that exists and is readable.

- (1) --gtagsconf *file*

  - (2) $GTAGSCONF

  - (3) \[project root\]/gtags.conf

  - (4) \[project root\]/\[objdir\]/gtags.conf

  - (5) $HOME/.globalrc

  - (6) /etc/gtags.conf

  - (7) \[sysconfdir\]/gtags.conf

  \[sysconfdir\] is ´/usr/local/etc´ by default; you can change it by the --sysconfdir option of the configure script. \[objdir\] is ´obj´ by default; you can change it by **GTAGSOBJDIR** or **MAKEOBJDIR**.

Its syntax is similar to [**termcap**(5)](/termcap/5.md) except for some extensions described later. A file includes one or more records. You should select a record using a label. Default label is ´default´. If **GTAGSLABEL** is set, its value is used. Please be aware the meaning of ´default´ is different from that of [**termcap**(5)](/termcap/5.md).

Lines starting with ´#´ are ignored. A record consists of one or more fields separated by ´:´ and ends with a newline. The first field must have a label name. Each field of the rest has a variable definition. There are three types in those variables.

- Boolean: This type has no value; existence of variable means true else false.

  - Number: This type has a number value after ´#´.

  - String: This type has a string value after ´=´.

  Most variables are relevant to string type.

If data includes ´:´ or newline, you need to quote it by ´\\'. An empty field is permitted, but it doesn't make sense.

When there is more than one definition, the previous one is adopted.  Exceptionally, all values of **skip**, **langmap** and **gtags\_parser** are adopted and connected respectively.

## Variable substitution

Variable substitution similar to [**sh**(1)](/sh/1.md) is available. You can refer to any string variable using ´$´ prefix. For example, the following **b** has a value ´XYZ´.

```
:a=Y:b=X${a}Z:
```

## Including another record

**Tc** is a special variable; it reads in definitions in another record. It is similar to the **tc** of [**termcap**(5)](/termcap/5.md). Its syntax is as follows:\
 **tc**=*label*\[@*file*\]\
 If only a *label* is given, **tc** is read from a record specified by the *label* in the same file. If @*file* is also given, **tc** is read from a record specified by the *label* in the specified *file*. *File* should be an absolute path, and should not include variables. Different from [**termcap**(5)](/termcap/5.md), you can use **tc** anytime anywhere.

## CONFIGURATION

About variables for each command, please see each manual.

You can use the following environment variables as a string variable. If these variables are set then environment variables of the same name are set before command execution.\
 **GREP\_COLOR**\
 **GREP\_COLORS**\
 **GTAGSBLANKENCODE**\
 **GTAGSCACHE**\
 **GTAGSFORCECPP**\
 **GTAGSGLOBAL**\
 **GTAGSGTAGS**\
 **GTAGSLIBPATH**\
 **GTAGSLOGGING**\
 **GTAGSTHROUGH**\
 **GTAGS\_OPTIONS**\
 **HTAGS\_OPTIONS**\
 **MAKEOBJDIR**\
 **MAKEOBJDIRPREFIX**\
 **TMPDIR**\

The following variables are also available as a string variable. By default, each of them has a directory path given by the configure script.\
 **bindir**\
 **datadir**\
 **libdir**\
 **libexecdir**\
 **localstatedir**\
 **sysconfdir**\

## ENVIRONMENT

The following environment variables affect the execution of the commands.

- **GTAGSCONF**

  If this variable is set, the value is used as a configuration file.

- **GTAGSLABEL**

  If this variable is set, the value is used as a label of the configuration file. The default is *default*.

## SEE ALSO

[**global**(1)](/global/1.md), [**gozilla**(1)](/gozilla/1.md), [**gtags**(1)](/gtags/1.md), [**htags**(1)](/htags/1.md).

GNU Global source code tag system\
 (http://www.gnu.org/software/global/).

## HISTORY

The **gtags.conf** file appeared in Global-3.0 (1998).
